我想问你的帮助,因为我很难解决这个问题。我创建了一个函数来简化数组比较,但它不足以满足我的需求。感谢和更多的权力!PHP - Mutidimensional array diff
<?php
$arraySession = array(
'sampleA' => array('1', '2', '3'),
'sampleB' => array('1', '2', '3'),
);
$arrayPost = array(
'sampleA' => array('1'),
'sampleB' => array('1','2'),
);
的结果应该是:
array(
'sampleA' => array('2', '3')
'sampleB' => array('3'),
)
我现有的功能:
public function array_diff_multidimensional($session, $post) {
$result = array();
foreach($session as $sKey => $sValue){
foreach($post as $pKey => $pValue) {
if((string) $sKey == (string) $pKey) {
$result[$sKey] = array_diff($sValue, $pValue);
} else {
$result[$sKey] = $sValue;
}
}
}
return $result;
}
任何帮助,将不胜感激!快乐的编码!
感谢dtbarne,IM要去尝试。 – 2011-05-17 05:17:49
看起来它只能处理一个阵列。 – alex 2011-05-17 05:24:32
hi dtbarne,使用此函数不会获得预期的结果。尝试:$ arraySession = array( 'sampleA'=> array('1','2','3'), 'sampleB'=> array('1','2','3'), ); $ arrayPost =阵列( \t 'sampleA'=>数组( '1', '2', '3'), \t 'sampleB'=>数组( '1',), ); – 2011-05-17 05:28:11