这是我的数组:
['apple']['some code']
['beta']['other code']
['cat']['other code 2 ']
我怎么能把所有的“e”字母都换成“!“并保留值,这样我就可以得到类似的结果
['appl!']['some code']
['b!ta']['other code']
['cat']['other code 2 ']
我发现了这个,但因为我没有相同的名称为所有的关键,我不能使用它
$tags = array_map(function($tag) {
return array(
'name' => $tag['name'],
'value' => $tag['url']
);
}, $tags);
6条答案
按热度按时间o4tp2gmn1#
我希望你的数组看起来像这样:
如果是,你可以像下面这样做:
输出:-https://3v4l.org/p9WFK
omjgkv6w2#
实际上,您可以使用
array_map
。这并不实际,但作为概念验证,可以这样做:我们使用
array_keys
函数来提取密钥并将其馈送到array_map
。然后我们使用array_combine
将键放回原位。working demo
oknwwptz3#
这里我们使用
array_walk
,在整个迭代过程中,我们将key中的e
替换为!
,并将key和value放入新数组中。Try this code snippet here
voj3qocg4#
如果你有这个:
你可以试试这个:
5cg8jx4n5#
我们可以迭代
array
并标记所有有问题的键以进行更改。检查该值是否为字符串,如果是,请确保在需要时完成替换。如果它是一个array
而不是一个字符串,那么递归地调用function
来获取内部的array
。当这些值被解析后,执行键替换并删除坏键。在本例中,为$old
传递"e"
,为$new
传递"!"
。(未经测试)5sxhfpxr6#
另一个选项只使用两行代码:
给出:
执行:
说明:
str_replace
可以接受一个数组,并对每个条目执行替换。所以..array_keys
将拔出钥匙(https://www.php.net/manual/en/function.array-keys.php)str_replace
将执行替换(https://www.php.net/manual/en/function.str-replace.php)array_combine
将使用新更新的键中的键和原始数组(https://www.php.net/manual/en/function.array-combine.php)中的值重建数组