3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array_1 = [ 'id' => '42', 'base_id' => '23', 'role_id' => '1', 'title' => 'Manage Account', 'slug' => 'manage_account', 'parent' => '31', 'order' => '1', 'visibility' => '1' ]; $array_2 = [ 'id' => '42', 'base_id' => '23', 'role_id' => '99999', 'title' => 'Manage Account', 'slug' => 'manage_account', 'parent' => '31', 'order' => '1', 'visibility' => '1' ]; var_dump(array_diff($array_1, $array_2)); // Result (unexpected) // array (size=0) // empty $diff = []; foreach ($array_1 as $key => $value) { if ((string) $array_1[$key] !== (string) $array_2[$key]) { $diff[$key] = $value; } } var_dump($diff); // Result (expected) // array (size=1) // 'role_id' => string '1' (length=1)
Output for 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
array(0) { } array(1) { ["role_id"]=> string(1) "1" }

preferences:
137.3 ms | 404 KiB | 289 Q