0

这是我的数组

$arr = array("dog", "cat", "lion");

现在我想用 0 替换任何带有字母 o 的值。示例:

$arr = array("d0g", "cat", "li0n");

这是我这样做的方法:

$arr = array("dog", "cat", "lion");

$arr2 = array("d0g", "cat", "li0n");
$rep = array_replace($arr, $arr2);
var_dump($rep);

这种方法完全是手动的。虽然我想要一种方法来自动跟踪任何值中的字母“o”并用“0”移动它们。

4

2 回答 2

0
foreach ($arr as $key => $string) {
    $arr[$key] = str_replace("o", "0", $string);
}

或者

$arr = array_map(function ($el) { return str_replace("o", "0", $el);}, $arr);
于 2020-05-26T17:05:41.253 回答
-1

您可以使用array_map(使用某些转换函数将数组的所有值映射到新值)和str_replace(替换o0):

$arr = ['dog', 'cat', 'lion'];

$rep = array_map(fn($el) => str_replace('o', '0', $el), $arr);

(请注意,这使用PHP 7.4 箭头函数语法。如果您必须使用较旧的 PHP 版本,则可以使用。function ($el) { return str_replace('o', '0', $el) }fn($el) => str_replace('o', '0', $el)

于 2020-05-26T17:07:49.733 回答