Können mehrdimensionale PHP-Arrays dupliziert werden?

WBOY
Freigeben: 2023-05-19 12:03:37
Original
573 Leute haben es durchsucht

PHP ist eine leistungsstarke Programmiersprache, die mehrdimensionale Arrays und Array-Deduplizierung unterstützt. Während des Entwicklungsprozesses müssen wir häufig mehrdimensionale Arrays für die Datenverwaltung und -verarbeitung verwenden, und auch die Datendeduplizierung ist unerlässlich. Die Frage ist also: Können mehrdimensionale Arrays in PHP dupliziert werden? In diesem Artikel wird die Deduplizierungsmethode mehrdimensionaler Arrays in PHP erläutert.

1. Mehrdimensionales PHP-Array

In PHP ist ein mehrdimensionales Array ein Array, das mehrere verschachtelte Arrays enthält. Beispielsweise können wir ein mehrdimensionales Array verwenden, um Informationen zur Schülerleistung zu speichern:

$scores = array(
    "张三" => array("语文" => 85, "数学" => 90, "英语" => 98),
    "李四" => array("语文" => 91, "数学" => 88, "英语" => 95),
    "王五" => array("语文" => 92, "数学" => 95, "英语" => 90)
);
Nach dem Login kopieren

Im obigen Beispiel haben wir ein mehrdimensionales Array mit drei verschachtelten Arrays erstellt. Jedes verschachtelte Array enthält die Leistung eines Schülers Information. Beachten Sie, dass in mehrdimensionalen Arrays jedes Array einen entsprechenden Schlüsselwert hat (Zhang San, Li Si, Wang Wu) und dieser Schlüsselwert eine Zahl oder ein Zeichenfolgentyp sein kann.

2. Duplizierungsmethode

  1. array_unique()-Funktion

array_unique()-Funktion wird in PHP verwendet -in-Funktion der Deduplizierung kann doppelte Werte in einem Array entfernen und die Schlüsselwerte des ursprünglichen Arrays beibehalten. Bei mehrdimensionalen Arrays kann die Funktion array_unique() jedoch nur doppelte Werte aus dem Subarray der ersten Ebene entfernen. Zum Beispiel:

$array = array(1,1,'a','b',array('a','b'),array('a','b')); 
$result = array_unique($array);
print_r($result);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => 1
    [2] => a
    [3] => b
    [4] => Array
        (
            [0] => a
            [1] => b
        )

)
Nach dem Login kopieren

Wir haben festgestellt, dass die verschachtelten Arrays ('a', 'b') zwar zweimal wiederholt wurden, aber nicht entfernt wurden Gewicht.

2. Benutzerdefinierte Funktion

Für das Deduplizierungsproblem mehrdimensionaler Arrays können wir eine Funktion anpassen, um dies zu erreichen. Das Folgende ist ein einfaches Beispiel:

function multi_array_unique($array){
    foreach ($array as $key1 => $value1) {
        foreach ($array as $key2 => $value2) {
            if ($key1 != $key2 && $value1 === $value2) {
                unset($array[$key2]);
            }
        }
    }
    return $array;
}
Nach dem Login kopieren

Die obige Funktion verwendet eine doppelte foreach-Schleife, um mehrdimensionale Arrays zu durchlaufen. Wenn die beiden Arrays nicht dasselbe Array sind und gleiche Werte haben, sind es die nachfolgenden Array-Elemente gelöscht. Abschließend wird das verarbeitete Array zurückgegeben.

Wir können diese Funktion testen:

$array = array(
    array("id"=>1,"name"=>"apple"),
    array("id"=>2,"name"=>"banana"),
    array("id"=>3,"name"=>"orange"),
    array("id"=>4,"name"=>"orange"),
    array("id"=>5,"name"=>"apple")
);
$result = multi_array_unique($array);
print_r($result);
Nach dem Login kopieren

Das Ausgabeergebnis ist:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => apple
        )

    [1] => Array
        (
            [id] => 2
            [name] => banana
        )

    [2] => Array
        (
            [id] => 3
            [name] => orange
        )

)
Nach dem Login kopieren

Wir können dem Ausgabeergebnis entnehmen, dass Wiederholungen mehrdimensional sind Arrays Die Werte wurden entfernt, so dass nur der eindeutige Wert übrig blieb.

3. Zusammenfassung

Mehrdimensionale PHP-Arrays können durch benutzerdefinierte Funktionen dedupliziert werden, um die Ausführungseffizienz und Genauigkeit des Programms zu verbessern. In der tatsächlichen Entwicklung ist es notwendig, basierend auf den Projektanforderungen eine geeignete Deduplizierungsmethode auszuwählen. Das Obige sind einige meiner Erfahrungen und Ideen, gerne zum Austausch und zur Diskussion!

Das obige ist der detaillierte Inhalt vonKönnen mehrdimensionale PHP-Arrays dupliziert werden?. 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