簡體   English   中英

如何刪除 php 中的多維數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM