hd.*_*hd. 11 php arrays replace str-replace
如何用php替换数组中所有项目的其他字符串的子字符串?我不想使用循环来做到这一点.在PHP中有预定义的功能吗?
编辑:谢谢你的回复,还有一个问题,我怎么能在数组的键上做到这一点?
net*_*der 71
为什么不在没有循环的情况下使用str_replace?
$array = array('foobar', 'foobaz');
$out = str_replace('foo', 'hello', $array);
Run Code Online (Sandbox Code Playgroud)
Nik*_*kiC 19
$array = array_map(
function($str) {
return str_replace('foo', 'bar', $str);
},
$array
);
Run Code Online (Sandbox Code Playgroud)
但这array_map只是一个隐藏的循环.为什么不使用真正的?
foreach ($array as &$str) {
$str = str_replace('foo', 'bar', $str);
}
Run Code Online (Sandbox Code Playgroud)
那更容易.
小智 6
这是我发现并成功使用的一个非常好的主意:
function str_replace_json($search, $replace, $subject)
{
return json_decode(str_replace($search, $replace, json_encode($subject)), true);
}
Run Code Online (Sandbox Code Playgroud)
它也适用于多维数组.
如果将"true"更改为"false",则它将返回一个对象而不是关联数组.
资料来源:Codelinks