首页 > 解决方案 > 如何在 PHP 中取消设置值数组

问题描述

这是我的数组:

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

如何取消设置值,如果不是 PHP 中的单词,例如在这个数组中取消设置值[],?

标签: phparrays

解决方案


PHP 有一个函数可以在一次雄辩地调用干净、直接的代码段中为您完成这项任务。

数组差异()

迭代每个子数组tracker并将值的“黑名单”作为array_diff(). 声明中的&before使变量“可通过引用修改”——实际上,这意味着新数据将应用于原始数组,而不是原始输入数组的副本。$trackerforeach()$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',
    ),
  ),
)

推荐阅读