<?php
$cart = array('goods' =>array('123'=>2,
'3123'=>5),
'product'=>array('123'=>2,
'3123'=>5,
'23'=>7
)
);
$cartorder = array('goods' =>array('123'=>2,
'3123'=>5),
'product'=>array('123'=>2,
'3123'=>5)
);
function array_diff_assoc2_deep($array1, $array2) {
$ret = array();
foreach ($array1 as $k => $v) {
if (!isset($array2[$k])) $ret[$k] = $v;
else if (is_array($v) && is_array($array2[$k])) $ret[$k] = array_diff_assoc2_deep($v, $array2[$k]);
else if ($v !=$array2[$k]) $ret[$k] = $v;
else
{
unset($array1[$k]);
}
}
return $ret;
}
$result = array_diff_assoc2_deep($cart,$cartorder);
var_dump($result);
?>