Unähnliche verschachtelte Arrays in mehrdimensionalen Arrays finden
Betrachten Sie die folgenden zwei Arrays, die assoziative Informationszeilen enthalten:
$pageids = [ ['id' => 1, 'linklabel' => 'Home', 'url' => 'home'], ['id' => 2, 'linklabel' => 'Graphic Design', 'url' => 'graphicdesign'], ['id' => 3, 'linklabel' => 'Other Design', 'url' => 'otherdesign'], ['id' => 6, 'linklabel' => 'Logo Design', 'url' => 'logodesign'], ['id' => 15, 'linklabel' => 'Content Writing', 'url' => 'contentwriting'], ]; $parentpage = [ ['id' => 2, 'linklabel' => 'Graphic Design', 'url' => 'graphicdesign'], ['id' => 3, 'linklabel' => 'Other Design', 'url' => 'otherdesign'], ];
Unsere Aufgabe besteht darin, die assoziativen Zeilen zu identifizieren und zurückzugeben, die in $pageids vorhanden sind, aber in $parentpage fehlen. Die Verwendung von array_diff_assoc() auf der ersten Ebene dieser Arrays liefert jedoch nicht das gewünschte Ergebnis.
Um diese Herausforderung zu meistern, können wir eine Kombination aus den Funktionen array_map() und serialize() nutzen. Dieser Ansatz wandelt jedes Unterarray in eine String-Darstellung um, wodurch die mehrdimensionale Struktur effektiv abgeflacht wird.
$pageWithNoChildren = array_map('unserialize', array_diff(array_map('serialize', $pageids), array_map('serialize', $parentpage)));
Das resultierende $pageWithNoChildren-Array enthält die Unterarrays von $pageids, die vorhanden sind nicht vorhanden in $parentpage:
array ( 0 => array ( 'id' => 1, 'linklabel' => 'Home', 'url' => 'home', ), 3 => array ( 'id' => 6, 'linklabel' => 'Logo Design', 'url' => 'logodesign', ), 4 => array ( 'id' => 15, 'linklabel' => 'Content Writing', 'url' => 'contentwriting', ), )
Das obige ist der detaillierte Inhalt vonWie finde ich unterschiedliche verschachtelte Arrays in mehrdimensionalen Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!