1
我寫這段代碼:PHP多維數組相交
<?php
$aArray = array
(
array(0,0,0),
array(1,0,0),
array(2,0,0),
array(3,0,0),
array(4,0,0),
array(5,0,0),
array(6,0,0),
array(7,0,0)
);
$jump = array
(
array(0,0,0),
array(1,0,0),
array(9,7,4),
array(3,0,0),
array(4,0,0),
array(5,0,0),
array(6,0,0),
array(7,0,0)
);
$result = array_intersect($aArray, $jump);
echo var_dump($result);
我得到的結果是這樣的:
array(8) {
[0]=> array(3) {
[0]=> int(0)
[1]=> int(0)
[2]=> int(0) }
[1]=> array(3) {
[0]=> int(1)
[1]=> int(0)
[2]=> int(0) }
[2]=> array(3) {
[0]=> int(2)
[1]=> int(0)
[2]=> int(0) }
[3]=> array(3) {
[0]=> int(3)
[1]=> int(0)
[2]=> int(0) }
[4]=> array(3) {
[0]=> int(4)
[1]=> int(0)
[2]=> int(0) }
[5]=> array(3) {
[0]=> int(5)
[1]=> int(0)
[2]=> int(0) }
[6]=> array(3) {
[0]=> int(6)
[1]=> int(0)
[2]=> int(0) }
[7]=> array(3) {
[0]=> int(7)
[1]=> int(0)
[2]=> int(0) }
}
爲什麼不是第二個索引返回null?我已經嘗試清空我的緩存,以防有舊值存儲在那裏。我也注意到,如果我從跳轉數組中刪除最後一個數組,它仍然會產生7,0,0。這是一個奇怪的異常?
謝謝@AbraCadaver。我懷疑它與要求遞歸函數有關。很有幫助。我還發現,當它返回相交點時,如果一個嵌套數組至少有一個鍵/值匹配,它將返回整個事物,因爲它返回第一個參數的鍵。 – upndown