簡體   English   中英

如何在PHP中取消設置值數組

[英]How to unset value array in PHP

這是我的數組:

array( 
    "tracker"=> array( 
            0=> array( 
                0=> "[" ,
                1=> "asiangames" ,
                2=> "," ,
                3=> "asiangames2018" ,
                4=> "," ,
                5=> "asian" ,
                6=> "]" 
            ),
            1=> array( 
                0=> "[" ,
                1=> "2019gantipresiden" ,
                2=> "]" 
            ) 
    ) 
) 

如何取消設置的值,如果不字PHP例如,在這個數組未設置值[],?

PHP具有一項功能,可以通過一個雄辯的調用來直接為您提供干凈,直接的代碼片段,從而為您完成此任務。

array_diff()

迭代tracker每個子數組,並將值的“黑名單”用作array_diff()的第二個參數。 foreach()聲明中的&之前的$tracker使變量“可通過引用修改”-有效地,這意味着新數據將應用於原始數組的$tracker而不是原始輸入數組的副本。

代碼:( 演示

$array = [
    "tracker" => [
        ["[", "asiangames", ",", "asiangames2018", ",", "asian", "]"],
        ["[", "2019gantipresiden", "]"]
    ]
];

foreach ($array["tracker"] as &$tracker) {
    $tracker = array_diff($tracker, ["[", ",", "]"]);
}

var_export($array);

輸出:

array (
  'tracker' => 
  array (
    0 => 
    array (
      1 => 'asiangames',
      3 => 'asiangames2018',
      5 => 'asian',
    ),
    1 => 
    array (
      1 => '2019gantipresiden',
    ),
  ),
)

您需要使用如下所示的foreach()

$remove_values = array('[',']',',');

foreach($your_array['tracker'] as &$value){
  foreach($value as $key=>$val){
     if(in_array($val,$remove_values)){
       unset($value[$key]);
     }
  }
}

print_r($your_array);

輸出: -https : //3v4l.org/1FaO1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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