The two arrays are considered equal since they have the same 1st dimension indexes (Electric, Gas, Water) the same 2nd dimension indexes (Gym, Library), and the same values for each intersect. The second level values will always be scalar (not arrays or objects). Order doesn't matter.

How can PHP verify that they are equal based on the above definition of equality?

```
$array1 = [
    'Electric' => ['Gym' => 24, 'Library' => 25],
    'Gas' => ['Gym' => 13, 'Library' => null],
    'Water' => ['Gym' => null, 'Library' => null]
];

$array2 = [
    'Gas' => ['Library' => null, 'Gym' => 13],
    'Electric' => ['Gym' => 24, 'Library' => 25],
    'Water' => ['Library' => null, 'Gym' => null]
];

```

My attempt is as follows...

```
if (count($arr1) != count($arr2) || array_diff($arr1, $arr2) !== array_diff($arr2, $arr1)) {
    $error = 'Values do not match.';
}

```