[英]how to remove multidimensional array in php
我有一些數組
Array
(
[data] => Array
(
[0] => Array
(
[0] => 1
[1] => MOUSE
[2] => 0
[3] => 1
)
[1] => Array
(
[0] => 2
[1] => LAPTOP
[2] => 0
[3] => 0
)
[3] => Array
(
[0] => 4
[1] => PHONE
[2] => 0
[3] => 0
)
)
)
我需要從數組中刪除“0”值,所以結果應該是。
Array
(
[data] => Array
(
[0] => Array
(
[0] => 1
[1] => MOUSE
[2] => 0
[3] => 1
)
)
)
如何使用動態代碼將其刪除? 因為它會執行大量的數組。 我在里面呆了好幾天
這個filterArray
function 應該可以工作。
它只是檢查您提交的主數組(在本例中為 $array["data"])中的 arrays,然后檢查每個子數組中的第三個 position,如果值不為零,則返回它。
$array = array(
"data" => array(
array(
"0" => 1,
"1" => "MOUSE",
"2" => 0,
"3" => 1
),
array(
"0" => 2,
"1" => "LAPTOP",
"2" => 0,
"3" => 0
),
array(
"0" => 4,
"1" => "PHONE",
"2" => 0,
"3" => 0
)
)
);
function filterArray($elem) {
if (is_array($elem)) {
return (bool) $elem[3];
}
return false;
}
$array["data"] = array_filter($array["data"], "filterArray");
var_dump($array);
這里是您的陣列的 output:
array(1) {
["data"] => array(1) {
[0] => array(4) {
[0] => int(1)
[1] => string(5) "MOUSE"
[2] => int(0)
[3] => int(1)
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.