Pra*_*V P -1 php arrays multidimensional-array
如何获得具有以下结构的两个数组之间的差异
<?php
$a1 = array("0" => "red");
$a2 = array("0" => "red", "1" => "green", "2" => "blue", "3" => "yellow");
$result = arrayDiff($a1, $a2);
print '<pre>';
print_r($result);
print '</pre>';
function arrayDiff($aArray1, $aArray2) {
$aReturn = array();
foreach ($aArray1 as $mKey => $mValue) {
if (array_key_exists($mKey, $aArray2)) {
if (is_array($mValue)) {
$aRecursiveDiff = arrayDiff($mValue, $aArray2[$mKey]);
if (count($aRecursiveDiff)) {
$aReturn[$mKey] = $aRecursiveDiff;
}
} else {
if ($mValue != $aArray2[$mKey]) {
$aReturn[$mKey] = $aArray2[$mKey];
}
}
} else {
$aReturn[$mKey] = $mValue;
}
}
return $aReturn;
}
?>
Run Code Online (Sandbox Code Playgroud)
我得到一个空数组作为输出.我的首选输出是:
Array
(
[0] => green
[1] => blue
[2] => yellow
)
Run Code Online (Sandbox Code Playgroud)
<?php
$a1 = array("0" => "red");
$a2 = array("0" => "red", "1" => "green", "2" => "blue", "3" => "yellow");
$result = array_diff($a2, $a1);
print_r($result);
$result = array_values($result);
print_r($result);
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |