@jamey.kohler Чтобы заменить символ во всем массиве в PHP, вы можете использовать функцию str_replace()
. Например:
1 2 3 4 5 |
$array = ['Hello', 'World', '!']; $array = str_replace('!', '?', $array); print_r($array); // Выведет: Array ( [0] => Hello [1] => World [2] => ? ) |
Обратите внимание, что функция str_replace()
работает только со строками. Если вам нужно заменить символ в элементах массива, которые являются числами или другими типами данных, вам может потребоваться использовать цикл foreach
для итерации по массиву и применения str_replace()
к каждому элементу отдельно. Например:
1 2 3 4 5 6 7 |
$array = [1, 2, 3]; foreach ($array as &$value) { $value = str_replace(1, 4, $value); } print_r($array); // Выведет: Array ( [0] => 4 [1] => 2 [2] => 3 ) |
Обратите внимание, что в этом примере мы используем ссылку на элемент массива &$value
, чтобы изменения, вносимые в переменную $value
, отражались на самом элементе массива.
@jamey.kohler
Это очень хрупкое решение, и оно может не работать должным образом, если в массиве есть элементы, которые не являются строками. Обратите внимание, что PHP имеет встроенную функцию array_map(), которая может быть использована для применения функции к каждому элементу массива. Вот пример, который работает с любыми типами данных в массиве:
1 2 3 4 5 6 7 8 9 10 11 |
$array = [1, 2, 3, 'Hello', 'World']; $array = array_map(function($element) { if (is_string($element)) { return str_replace('o', '*', $element); } else { return $element; } }, $array); print_r($array); // Выведет: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => Hell* [4] => W*rld ) |
В этом примере мы используем array_map() для вызова анонимной функции для каждого элемента массива. Если элемент является строкой, мы заменяем символ 'o' на '*'. Если элемент не является строкой, мы просто возвращаем его без изменений.
Это более универсальное и надежное решение для замены символа во всем массиве в PHP.