In der PHP-Programmierung ist Array ein sehr wichtiger Datentyp, der es uns ermöglicht, mehrere Werte zu speichern und über Schlüssel darauf zuzugreifen. Ein zweidimensionales Array ist ein eindimensionales Array mit einer zusätzlichen Dimension, die es uns ermöglicht, komplexere Datenstrukturen zu speichern. Bei der Verwendung zweidimensionaler Arrays stoßen wir jedoch häufig auf ein Problem, nämlich wie wir erkennen können, ob das zweidimensionale Array doppelte Werte enthält. In diesem Artikel wird ausführlich beschrieben, wie Sie feststellen können, ob in einem zweidimensionalen Array doppelte Werte vorhanden sind.
1. Was ist ein zweidimensionales Array?
Bevor wir vorstellen, wie man ermittelt, ob in einem zweidimensionalen Array doppelte Werte vorhanden sind, müssen wir zunächst verstehen, was ein zweidimensionales Array ist. Wie oben kurz vorgestellt, fügt ein zweidimensionales Array einem eindimensionalen Array eine weitere Dimension hinzu. Das heißt, jedes Element ist kein einzelner Wert mehr, sondern ein Array. Das heißt, jedes Element ist ein Array mit mehreren Werten, bei denen es sich um Zeichenfolgen, Zahlen, boolesche Werte usw. beliebiger Art handeln kann.
Das Folgende ist ein einfaches zweidimensionales Array-Beispiel:
$cars = array( array("Volvo",22,18), array("BMW",15,13), array("Saab",5,2), array("Land Rover",17,15) );
In diesem Beispiel definieren wir ein zweidimensionales Array $cars, das vier Array-Elemente enthält und jedes Element drei Werte enthält. Wir können über den folgenden Code auf den ersten Wert des ersten Elements im $cars-Array zugreifen:
echo $cars[0][0]; // 输出 Volvo
2. Bestimmen Sie, ob im zweidimensionalen Array doppelte Werte vorhanden sind
In der tatsächlichen Entwicklung müssen wir häufig feststellen ob es doppelte Werte im zweidimensionalen Array gibt. Ob es doppelte Werte gibt. Es gibt viele Möglichkeiten, dieses Problem zu lösen, zwei davon stellen wir hier vor.
1. Verwenden Sie die Verschachtelung einer foreach-Schleife.
Verwenden Sie die Verschachtelung einer foreach-Schleife, um jedes Element im zweidimensionalen Array zu durchlaufen und der Reihe nach ihre Werte zu vergleichen. Die spezifischen Implementierungsschritte sind wie folgt:
① Definieren Sie ein leeres Array $result, um Elemente ohne doppelte Werte zu speichern.
② Verwenden Sie eine foreach-Schleife, um das ursprüngliche zweidimensionale Array $source zu durchlaufen und jedes Element nacheinander herauszunehmen
③ Verwenden Sie in der inneren Schleife erneut die foreach-Schleife, um das $result-Array zu durchlaufen, und vergleichen Sie, ob das aktuelle Element mit jedem bereits im $result-Array gespeicherten Element identisch ist. ④ Wenn sie identisch sind, springen Sie Verlassen Sie die innere Schleife und durchlaufen Sie das nächste Element. Wenn es anders ist, speichern Sie das aktuelle Element im $result-Array und verlassen Sie dann die Schleife. Der spezifische Code lautet wie folgt:$source = array( // 原始的二维数组 array('name'=>'Tom','age'=>18), array('name'=>'Jack','age'=>23), array('name'=>'Mary','age'=>21), array('name'=>'Tom','age'=>20), array('name'=>'Jim','age'=>32) ); $result = array(); // 存放没有重复值的元素 foreach ($source as $value) { $flag = true; // 标记是否存在重复值 foreach ($result as $v) { if ($value['name'] == $v['name']) { $flag = false; break; } } if ($flag) { $result[] = $value; } } print_r($result); // 输出结果:Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jack [age] => 23 ) [2] => Array ( [name] => Mary [age] => 21 ) [4] => Array ( [name] => Jim [age] => 32 ) )
$source = array( // 原始的二维数组 array('name'=>'Tom','age'=>18), array('name'=>'Jack','age'=>23), array('name'=>'Mary','age'=>21), array('name'=>'Tom','age'=>20), array('name'=>'Jim','age'=>32) ); $name_arr = array_column($source, 'name'); // 获取所有name值的数组 $unique_arr = array_unique($name_arr); // 去重 $result = array(); // 存放没有重复值的元素 foreach ($source as $value) { if (in_array($value['name'], $unique_arr)) { $result[] = $value; } } print_r($result); // 输出结果:Array ( [0] => Array ( [name] => Tom [age] => 18 ) [1] => Array ( [name] => Jack [age] => 23 ) [2] => Array ( [name] => Mary [age] => 21 ) [4] => Array ( [name] => Jim [age] => 32 ) )
Das obige ist der detaillierte Inhalt vonSo überprüfen Sie, ob in einem zweidimensionalen Array in PHP doppelte Werte vorhanden sind. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!