我想問你的幫助,因爲我很難解決這個問題。我創建了一個函數來簡化數組比較,但它不足以滿足我的需求。感謝和更多的權力!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