简体   繁体   English

如何在PHP中取消设置值数组

[英]How to unset value array in PHP

This is my array: 这是我的数组:

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

How to unset value, if not word in PHP for example in this array unset value [ and ] and , , ? 如何取消设置的值,如果不字PHP例如,在这个数组未设置值[],? ?

PHP has a function that does this task for you in one eloquent call for a clean, direct snippet. PHP具有一项功能,可以通过一个雄辩的调用来直接为您提供干净,直接的代码片段,从而为您完成此任务。

array_diff() array_diff()

Iterate each subarray in tracker and apply the "blacklist" of values as the 2nd parameter in array_diff() . 迭代tracker每个子数组,并将值的“黑名单”用作array_diff()的第二个参数。 The & before $tracker in the foreach() declaration makes the variable "modifiable by reference" -- effectively, this means that new data will be applied to the original array's $tracker and not a copy of the original input array. foreach()声明中的&之前的$tracker使变量“可通过引用修改”-有效地,这意味着新数据将应用于原始数组的$tracker而不是原始输入数组的副本。

Code: ( Demo ) 代码:( 演示

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

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

var_export($array);

Output: 输出:

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

You need to use foreach() like below:- 您需要使用如下所示的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);

Output:- https://3v4l.org/1FaO1 输出: -https : //3v4l.org/1FaO1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM