3 回答

TA貢獻1886條經驗 獲得超2個贊
如果要$array1基于的值進行過濾$array2,則可以filter與第三個參數ARRAY_FILTER_USE_KEY一起使用以使用鍵。
$array1 = [1,2,3];
$array2 = [1,null,500];
$newArray1 = array_filter($array1, function ($key) use ($array2) {
return $array2[$key];
},ARRAY_FILTER_USE_KEY
);
$newArray2 = array_filter($array2);
echo "<pre>";
print_r( $newArray1 );
print_r( $newArray2 );
echo "</pre>";
結果將是:
Array
(
[0] => 1
[2] => 3
)
Array
(
[0] => 1
[2] => 500
)

TA貢獻1798條經驗 獲得超7個贊
您可以用來array_intersect從array1獲取非空值
$arr = array(
1 => array(1,2,3),
2 => array(1,'',3)
);
$result= array_filter(array_intersect($arr[1],$arr[2]));
echo '<pre>';
print_r($result);
結果
Array
(
[0] => 1
[2] => 3
)
- 3 回答
- 0 關注
- 209 瀏覽
添加回答
舉報