我有这样的数组: 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);没有任何效果。那么如何替换那个词呢?
2 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
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
}
}
泛舟湖上清波郎朗
TA贡献1818条经验 获得超3个赞
如果你想使用array_walk,你可以接近
$stringToFind = 'My contracts';
$stringToReplace = 'REPLACMENT';
array_walk($arr, function(&$v,$k) use ($stringToFind,$stringToReplace){
($v['title'] == $stringToFind) ? ($v['title'] = $stringToReplace) : '';
});
- 2 回答
- 0 关注
- 121 浏览
添加回答
举报
0/150
提交
取消