等しいはずの2つの配列があります。
var ダンプしてそれらが等しいかどうかをアサートすると、次の出力が得られます
array(2) {
[0]=>
array(3) {
["100"]=> //notice that the key is NOT numeric
int(0)
["strKey1"]=>
int(0)
["strKey2"]=>
int(0)
}
[1]=>
array(3) {
["100"]=> //notice that the key is NOT numeric
int(0)
["strKey1"]=>
int(0)
["strKey2"]=>
int(0)
}
}
There was 1 failure:
1) Failed asserting that two arrays are equal.
--- Expected
+++ Actual
@@ @@
Array (
- '100' => 0
'strKey1' => 0
'strKey2' => 0
+ '100' => 0
)
キーを数値にマッピングする両方の配列の単純な foreach ループは正常に機能しますが、テスト内で最も美しいハックではありません。
$actualArray = array();
foreach ($actualOriginal as $key => $value) {
$actualArray[$key] = $value;
}
$expectedArray = array();
foreach ($expectedOriginal as $key => $value) {
$expectedArray[$key] = $value;
}
これらの配列が等しいと見なされない理由はありますか?
助けてくれてありがとう!