我有一堆陣列數據從$搜索和$數據變量是這樣的:搜索多個數組值和計數的搜索結果
$data = array(
array(1, 2, 3),
array(1, 2, 3, 4, 7, 13)
);
$search = array(
array(1, 2),
array(1, 3),
array(6, 13),
array(7, 13)
);
$result = array();
我想要做的是,如果每一個對(實施例:1和2)從$搜索匹配與內部$數據變量的所有數據陣列的數據的它將計數多少數據是匹配(實施例:圖1和2對$數據[匹配0]和$ data [1]所以結果必須是2)。然後將計數結果保存到變量$結果基於密鑰$搜索。
這是我一直在尋找的結果:
$result = array(
0 => 2,
1 => 2,
2 => 0
3 => 1
);
這是我的代碼:
for ($i=0; $i<count($search); $i++) {
for ($j=0; $j<count($data); $j++) {
if (count(array_intersect($search[$i], $data[$j])) > 1) {
array_push($result[$i], "1");
}
}
}
正如上面我的實驗,如果我保存計數結果$結果變量它只是給了我一個警告:array_push()期望參數1是數組。但是,如果我嘗試使用array_push到$搜索變量保存計數結果,它會給我造成這樣的:
Array
(
[0] => Array
(
[0] => 1
[1] => 2
[2] => 1
[3] => 1
)
[1] => Array
(
[0] => 1
[1] => 3
[2] => 1
[3] => 1
)
[2] => Array
(
[0] => 6
[1] => 13
)
[3] => Array
(
[0] => 7
[1] => 13
[2] => 1
)
)
結果是接近我想要的東西,但還是不喜歡我找對於。我真的不知道該怎麼做。
結果應該是'$結果=陣列( 0 => 2, 1 => 2, 2 => 1' 3 = > 1 );' –