Heim > Backend-Entwicklung > PHP-Problem > Die zweidimensionale PHP-Zahlenkombination entfernt keine Duplikate

Die zweidimensionale PHP-Zahlenkombination entfernt keine Duplikate

WBOY
Freigeben: 2023-05-23 11:40:07
Original
557 Leute haben es durchsucht

In PHP müssen wir häufig Arrays verwenden und häufig Arrays zusammenführen, z. B. zwei Arrays zu einem Array zusammenführen oder mehrere Arrays zu einem Array zusammenführen. Beim Zusammenführen zweidimensionaler Arrays kann es zu einem Problem kommen, nämlich dass das zusammengeführte Array nicht automatisch dedupliziert wird. In diesem Artikel werden das Problem und die Lösung der zweidimensionalen PHP-Zahlenkombination ohne Deduplizierung vorgestellt.

1. Was ist ein zweidimensionales Array? In PHP ist ein Array eine sehr wichtige Datenstruktur. Es ist eine Sammlung von Daten, und jede Daten hat einen entsprechenden Schlüsselwert und Index. Ein zweidimensionales Array ist ein Array, das in einem anderen Array verschachtelt ist, d. h. jedes Element ist ein Array.

2. Zweidimensionale Arrays in PHP

In PHP gibt es zwei Möglichkeiten, zweidimensionale Arrays darzustellen, und die andere ist die Verwendung der []-Syntax Ein Beispiel zur Veranschaulichung:

// 使用array()函数表示二维数组
$students = array(
    array('name' => '张三', 'age' => 18),
    array('name' => '李四', 'age' => 19),
    array('name' => '王五', 'age' => 20)
);

// 使用[]语法糖表示二维数组
$students = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];
Nach dem Login kopieren

3. Zusammenführen zweidimensionaler Arrays in PHP

PHP stellt die Funktion array_merge() zum Zusammenführen von Arrays bereit. Der Beispielcode lautet wie folgt:

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '赵六', 'age' => 21],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);
Nach dem Login kopieren

Die Ausgabeergebnisse lauten wie folgt:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 赵六
            [age] => 21
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)
Nach dem Login kopieren

Wir können sehen, dass mit der Funktion array_merge() zwei Arrays problemlos zu einem Array zusammengeführt werden können. Wenn das zusammengeführte Array jedoch doppelte Elemente enthält, wird das zusammengeführte Array nicht automatisch dedupliziert, wie unten gezeigt:

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);

print_r($students);
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [3] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)
Nach dem Login kopieren

Wir können sehen, dass das zusammengeführte Array zwei wiederholte Elemente enthält [ Name => '李思', Alter => 19].

4. Lösung für das Problem, dass die zweidimensionale PHP-Zahlenkombination keine Duplikate entfernt

Um das Problem zu lösen, dass die zweidimensionale PHP-Zahlenkombination keine Duplikate entfernt, können wir die Funktion array_unique() verwenden. Diese Funktion kann verwendet werden, um doppelte Elemente aus einem Array zu entfernen und ein neues, nicht dupliziertes Array zurückzugeben.

Der Beispielcode lautet wie folgt:

$students1 = [
    ['name' => '张三', 'age' => 18],
    ['name' => '李四', 'age' => 19],
    ['name' => '王五', 'age' => 20]
];

$students2 = [
    ['name' => '李四', 'age' => 19],
    ['name' => '孙七', 'age' => 22],
];

$students = array_merge($students1, $students2);
$students = array_unique($students, SORT_REGULAR);

print_r($students);
Nach dem Login kopieren

Das Ausgabeergebnis lautet wie folgt:

Array
(
    [0] => Array
        (
            [name] => 张三
            [age] => 18
        )

    [1] => Array
        (
            [name] => 李四
            [age] => 19
        )

    [2] => Array
        (
            [name] => 王五
            [age] => 20
        )

    [4] => Array
        (
            [name] => 孙七
            [age] => 22
        )

)
Nach dem Login kopieren

Wir können sehen, dass die Verwendung der Funktion array_unique() die zusammengeführten Arrays leicht zusammenführen und schließlich ein Array ohne doppelte Elemente erhalten kann.

5. Zusammenfassung

Dieser Artikel stellt das Problem und die Lösung der zweidimensionalen PHP-Zahlenkombination ohne Deduplizierung vor. Durch die Erläuterung dieses Artikels können wir erkennen, dass die Funktion array_merge() zwar zum einfachen Zusammenführen von Arrays verwendet werden kann Beim Zusammenführen zweidimensionaler Arrays werden Duplikate nicht automatisch entfernt. Sie müssen die Funktion array_unique() verwenden, um Duplikate zu entfernen und ein neues, nicht dupliziertes Array zu erhalten.

Das obige ist der detaillierte Inhalt vonDie zweidimensionale PHP-Zahlenkombination entfernt keine Duplikate. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage