php – 无法通过str_replace更改JSON数组中的值

我想更改数组中的值.这是我的起始数组:

Array
(
    [0] => Array
        (
            [name] => aaa         
        )

    [1] => Array
        (
            [name] => bbb            
        )

    [2] => Array
        (
            [name] => ccc
        )
)

我声明了一个searchterm(例如“aaa”)和一个名称(例如“test”).而且我做了一个str_replace来实际改变它.
不幸的是,没有任何变化,也没有收到错误信息.你能帮忙告诉我我的错误在哪里吗?

for ($i=0; $i < count($json) ; $i++) { 
    $search  = $old_name;
    $replace = $new_name;
    str_replace($search, $replace, $json[$i]['name']); 
    print_r($json);     
}

解决方法:

正如documentation所说,此功能不会更新阵列

This function returns a string or an array with the replaced values.

你需要用返回的值更新它:

for ($i=0; $i < count($json) ; $i++) { 
    $search  = $old_name;
    $replace = $new_name;
    $json[$i]['name'] = str_replace($search, $replace, $json[$i]['name']);
    print_r($json);     
} 

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...