猿问

替换数组 PHP 中的一个词

我有这样的数组:


    Array

(

    [0] => Array

        (

            [title] => Personal

            [closeable] => 1

            [visible] => 1

          )


    [1] => Array

        (

            [title] => My contracts

            [closeable] => 1

            [visible] => 1

        )


    [2] => Array

        (

            [title] => Info

            [closeable] => 1

            [visible] => 1

        )

)

我需要替换数组中的一个词 -我的其他合同。


我的合同会一直在那里,但顺序可能会改变,所以我必须检查确切的名称并替换它。


我尝试通过str_replace($value, $replacement, $array);


也通过


$ar = array_replace($ar,

array_fill_keys(

    array_keys($ar, $value),

    $replacement

)

);


最后:


array_map(function ($v) use ($value, $replacement) {

    return $v == $value ? $replacement : $v;

}, $arr);

没有任何效果。那么如何替换那个词呢?


慕无忌1623718
浏览 122回答 2
2回答

慕丝7291255

foreach ($ar as &$item) {    if ($item['title'] === 'My contracts') {        $item['title'] = 'Some new value';        // if you're sure that record will be met ONCE         // you can add `break;` to stop looping    }}

泛舟湖上清波郎朗

如果你想使用array_walk,你可以接近$stringToFind    = 'My contracts';$stringToReplace = 'REPLACMENT';array_walk($arr, function(&$v,$k) use ($stringToFind,$stringToReplace){ ($v['title'] == $stringToFind) ? ($v['title'] = $stringToReplace) : '';});
随时随地看视频慕课网APP
我要回答