2 つの配列があり、その値に違いがあるかどうかを確認したいと思います。私は2つの解決策(以下)を持っていますが、私が知らないより良い方法があるはずだと思います.
データ
$old_data = array(
"name" => "Mister X",
"age" => 43
);
$new_data = array(
"name" => "Mister X",
"age" => 44
);
ソリューション A
整数が文字列のようにフォーマットされている場合、機能しません: 44 対 "44"。また、配列のエンコードは私にとって汚いようです。
if (json_encode($old_data) != json_encode($new_data)) {
echo "there's a difference.";
}
ソリューション B
配列の値の 2 つの文字列を作成し、それらを比較します。
function array_values_to_string($array) {
$str = "";
foreach ($array as $key => $value) {
$str .= $value;
}
return $str;
}
if (array_values_to_string($array_old) != array_values_to_string($array_new)) {
echo "there's a difference.";
}