Anforderungen
Jetzt gibt es den folgenden Satz zweidimensionaler Arrays:
array(8) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(11) "13812341234" } [2]=> array(2) { ["name"]=> string(12) "fileds_507[]" ["value"]=> string(12) "我是青叶" } [3]=> array(2) { ["name"]=> string(12) "fileds_508[]" ["value"]=> string(6) "合肥" } [4]=> array(2) { ["name"]=> string(12) "fileds_509[]" ["value"]=> string(3) "男" } [5]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(6) "足球" } [6]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(6) "棒球" } [7]=> array(2) { ["name"]=> string(12) "fileds_511[]" ["value"]=> string(16) "2016-12-15T11:15" } }
Es ist notwendig, die Werte von Arrays mit demselben Schlüsselnamen zusammenzuführen und der gleiche Wert in der zweiten Dimension bilden ein neues Array.
Zum Beispiel sollten die beiden zweidimensionalen Arrays mit dem Namen „fields_510“ im obigen Code zu einem Array mit den Werten „Football“ und „Baseball“ zusammengeführt werden.
Denken
Wenn es um Arrays geht, denken wir zuerst an Schleifen in PHP, daher ist es hier offensichtlich besser geeignet, sie für die Schleifenverarbeitung zu verwenden, die der Blasensortierung ähnelt. Vergleichen Sie einen nach dem anderen und schließlich ist die Handhabung einfach.
Code
Der Code lautet wie folgt:
$public_info = 数组; for ($i=0;$i<count($public_info);$i++) { for ($j=$i+1;$j<count($public_info);$j++) { if ($public_info[$j]['name'] == $public_info[$i]['name']) { $public_info[$i]['value'] .= ',' . $public_info[$j]['value']; unset($public_info[$j]); } } }
Ausführungsergebnisse:
array(7) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(11) "13812341234" } [2]=> array(2) { ["name"]=> string(12) "fileds_507[]" ["value"]=> string(12) "我是青叶" } [3]=> array(2) { ["name"]=> string(12) "fileds_508[]" ["value"]=> string(6) "合肥" } [4]=> array(2) { ["name"]=> string(12) "fileds_509[]" ["value"]=> string(3) "男" } [5]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(13) "足球,棒球" } [7]=> array(2) { ["name"]=> string(12) "fileds_511[]" ["value"]=> string(16) "2016-12-15T11:15" } }
Zusammenfassung
Solange wir auf ein Array stoßen, denken wir neben den vorgefertigten PHP-Methoden zunächst an eine Schleife, egal ob es sich um foreach oder for handelt Ich hoffe, dass das benutzerdefinierte Formular, das ich in meinem Projekt bearbeitet habe, hilfreich ist.
Weitere Artikel zum zweidimensionalen PHP-Array-Deduplizierungsalgorithmus finden Sie auf der chinesischen PHP-Website!