多维数组键相交在php中两个值相等的条件下添加值

时间:2018-08-22 18:55:43

标签: php multidimensional-array array-key array-intersect

我有两个多维数组

$array1 = Array (
   [a1] => Array  (
           [a_name] => aaaaa
           [a_value] => aaa
         )

   [b1] => Array (
           [b_name] => zzzzz
           [b_value] => bbb
       )
   [c1] => Array (
           [c_name] => ccccc
           [c_value] => ccc
       )

 )

$array2 = Array (
     [b1] => Array (
           [b_name]=> zzzzz
         )
  );

如果要在array2中将匹配的值与具有键和值的array1相等,我想在这两个位置追加,即在array2中两者都匹配或都不匹配

function recursive_array_intersect_key(array $array1, array $array2) {
    $array1 = array_intersect_key($array1, $array2);
    foreach ($array1 as $key => &$value) {
        if (is_array($value) && is_array($array2[$key])) {
            $value = recursive_array_intersect_key($value, $array2[$key]);
        }
    }
    return $array2;
}

Expectet输出,好像array2与array2匹配

 $array2 = Array (
         [b1] => Array (
               [b_name]=> zzzzz
             ),
         [status] => Both Matched
      );

或未与array2匹配的array2

$array2 = Array (
         [b1] => Array (
               [b_name]=> zzzzz
             ),
         [status] => Not Matched
      );

0 个答案:

没有答案