Ich habe ein $ _POST, das ein Array sendet. Und ich habe ein previous Array mit einem Schlüssel, der einen der Werte von $ _POST enthalten kann oder nicht.Vergleichen Sie ein mehrdimensionales Array mit einem einfachen Array und extrahieren Sie den Unterschied
Beispiel:
$_post: Array ([0] => 13 [1] => 10 [2] => 52)
Previous: Array ([0] => Array ([collection_id] => 13 [artwork_id] => 21)
[1] => Array ([collection_id] => 11 [artwork_id] => 21))
Also muss ich, wenn die $ _POST itms bereits auf dem previuos Array besteht überprüfen ([Gruppe objekt] -Taste) und die neuen extrahieren (in diesem Fall [1] => 10 [2] => 52
) hinzugefügt ve zur Datenbank und auch diejenigen, die sich geändert haben, müssen aus der Datenbank entfernt (ersetzt) werden durch die neuen Werte.
Das ist meine aktuellen Code aber nicht gut funktioniert ...
$new_nodes = array();
$i = 0;
foreach($old_nodes as $node){
foreach ($collections as $collection) {
$new = array('collection_id' => $collection, 'artwork_id' => $artwork['id']);
if(array_diff($node, $new)){
if($collection > 0){
array_push($new_nodes, $new);
}
}
else{
unset($old_nodes[$i]);
}
}
$i++;
}
foreach($new_nodes as $node){
for ($i = 0; $i <= count($new_nodes); $i++) {
if(isset($new_nodes[$i])){
if(!array_diff($node, $new_nodes[$i])){
unset($new_nodes[$i]);
}
}
}
}
HINWEIS: old_nodes ist "Zurück" und $ Sammlungen "$ _POST"
Wie würde das Array nach dem Hinzufügen von '[1] => 10 [2] => 52' aussehen? Werden sie zu einem neuen Subarray oder werden sie zu einem der Subarrays hinzugefügt? –