str_replace 是否经过多维数组?

n1n*_*nja 1 php arrays multidimensional-array

我有一个像这样的数组设置:

Array
(
[0] => Array
    (
        [value1] => John Doe
        [value2] => Father
        [value3] => 
        [value4] => http://www.website.my.com
        [value5] => 
        [value6] => 
    )

[1] => Array
    (
        [value1] => Jane Doe
        [value2] => Mother
        [value3] => 
        [value4] => http://www.website.my.com
        [value5] => 
        [value6] => 
    )

[2] => Array
    (
        [value1] => Sara Smith
        [value2] => Daughter
        [value3] => 
        [value4] => http://www.website.my.com
        [value5] => 
        [value6] => 
    )
)
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 str_replace 删除“我的”。在这些数组的 value4 字段之外。str_replace("my.", "", $myarray);但它并没有改变任何东西。str_replace 是否适用于多维数组?

Mar*_*ker 6

不,它适用于字符串或一维数组.... 你可以通过 array_walk_recursive 中的回调使用它

array_walk_recursive(
    $myarray,
    function (&$value) {
        $value = str_replace('.my', '', $value);
    }
);
Run Code Online (Sandbox Code Playgroud)