Недавно я столкнулся с проблемой при сравнении двух вложенных массивов. Я пробовал использовать array_diff_assoc для сравнения двух массивов, но он возвращает мне неверное значение. Ниже приведены несколько сценариев, в которых я пытаюсь сравнить эти два вложенных массива в php.
$arr1 = ["colorFamily"=>[]];
$arr2 = ["colorFamily"=>["blue","black"]];
$diff = array_diff_assoc($arr1,$arr2);
Ожидается, что $diff вернется ниже;
["colorFamily"=>[]]
К сожалению, он возвращается ниже:
[]
Кроме того, при сравнении будут использоваться более сложные сценарии, такие как
$arr1 = ["colorFamily"=>[],"descriptionMeasurement"=>[["label"=>"orange"],["value"=>"apple"]]];
$arr2 = ["colorFamily"=>["blue","black"],"descriptionMeasurement"=>[["label"=>"orange"]]];
Вышеупомянутый сценарий должен вернуться
["colorFamily"=>[],"descriptionMeasurement"=>[["label"=>"orange"]]].
Короче говоря, все, что происходит в $arr1 и не происходит в $arr2, должно вернуться в массив $diff. Я надеюсь, что вы, ребята, можете помочь мне решить эту проблему, я застрял в течение нескольких недель.