小编sha*_*ine的帖子

如何递归地从多维数组中的每个值中删除周围的空格

我的$arr数组中的每个字符串值都包含 2 个前面的空格。我想使用该trim()方法删除这些空格。此外,$arr假设数组中有无限数量的数组,我想对数组中的任何数组执行相同的操作。我试图递归地执行此操作,但没有成功。

尽管可能有一个内置的 php 方法可以为我执行此操作,但我正在学习,并且想知道为什么此代码块不起作用以及可以进行哪些争执来修复它。

$arr = array("  one", "  two", array("  three"));

function trimAll(&$array) {
  foreach($array as $key => $value) {
    if(gettype($value) !== "array") {
        $array[$key] = trim($value);
    } else {
        trimAll($value);
    }
  }
}

trimAll($arr);

echo $arr[0];//"one" (worked)
echo $arr[1];//"two" (worked)
echo $arr[2][0];// "  three"(didn't work)
Run Code Online (Sandbox Code Playgroud)

php recursion multidimensional-array

2
推荐指数
1
解决办法
1242
查看次数

标签 统计

multidimensional-array ×1

php ×1

recursion ×1