私は2つの多次元配列を持っています:
$first_array = array(
0 => array(tid => 141),
1 => array(tid => 142),
2 => array(tid => 128)
);
$second_array = array(
0 => array(tid => 141),
1 => array(tid => 128)
);
最初の配列に存在するアイテムが2番目の配列にあるかどうかを確認する必要があります。ある場合は、最初の配列からそれらを削除する必要があります。
上記の例をとると、次のように$first_array
なります。array(0 => array(tid => 142))
助言がありますか?
編集:これが私が使用したものです:
$first_array = array(
0 => array('tid' => 141),
1 => array('tid' => 142),
2 => array('tid' => 128)
);
$second_array = array(
0 => array('tid' => 141),
1 => array('tid' => 128)
);
function my_serialize(&$arr,$pos){
$arr = serialize($arr);
}
function my_unserialize(&$arr,$pos){
$arr = unserialize($arr);
}
//make a copy
$first_array_s = $first_array;
$second_array_s = $second_array;
// serialize all sub-arrays
array_walk($first_array_s,'my_serialize');
array_walk($second_array_s,'my_serialize');
// array_diff the serialized versions
$diff = array_diff($first_array_s,$second_array_s);
// unserialize the result
array_walk($diff,'my_unserialize');
print_r($diff);