Ben bir dizi gönderir $ 'POST ettik. Ve ben bir prevoious dizi teh $ _POST gelen değerlerden birini içeren ya da değil, bir anahtar içerir ettik.
Örneğin:
$_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 ) )
Yani ben $ _POST itms zaten previuos dizi ([collection_id] tuşu) olup olmadığını kontrol edin ve yenilerini ayıklamak (bu durumda [1] => 10 [2] => 52
) veritabanına eklediğiniz için ve de bu almak gerekir hangi yeni değerler tarafından veritabanından (ikame) kaldırılması için bu ihtiyacı değişti.
Bu benim geçerli kod ama iyi çalışmıyor ...
$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]);
}
}
}
}
NOT: old_nodes "Önceki" ve $ koleksiyonları "$ _POST" dir