首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP替换数组中的字符串

问用PHP替换数组中的字符串
EN

Stack Overflow用户
提问于 2011-02-12 16:01:35
回答 7查看 59.5K关注 0票数 17

在PHP中,如何将数组中所有项的子字符串替换为其他字符串?

我不想使用循环来做这件事。PHP中有没有一个预定义的函数可以做到这一点呢?

我如何在数组的键上做到这一点?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-02-12 16:07:10

代码语言:javascript
复制
$array = array_map(
    function($str) {
        return str_replace('foo', 'bar', $str);
    },
    $array
);

但是array_map只是一个隐藏的循环。为什么不用真正的呢?

代码语言:javascript
复制
foreach ($array as &$str) {
    $str = str_replace('foo', 'bar', $str);
}

这就容易多了。

票数 28
EN

Stack Overflow用户

发布于 2011-02-12 16:13:00

为什么不直接使用没有循环的str_replace呢?

代码语言:javascript
复制
$array = array('foobar', 'foobaz');
$out = str_replace('foo', 'hello', $array);
票数 89
EN

Stack Overflow用户

发布于 2014-11-13 18:51:17

这是我发现并成功使用的一个非常好的想法:

代码语言:javascript
复制
function str_replace_json($search, $replace, $subject) 
{
    return json_decode(str_replace($search, $replace, json_encode($subject)), true);
}

它对于多维数组也是很好的。

如果您将"true“改为"false”,那么它将返回一个对象,而不是一个关联数组。

来源:Codelinks

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4977048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档