Задать вопрос
@pimanov3

Почему такая запись выдаёт фатальную ошибку?

Почему такая запись выдаёт фатальную ошибку?
$text = str_replace("[id", "[", $text, 1);
Тем временем такая верная:
$count = 1;
$text = str_replace("[id", "[", $text, $count);

Подскажите что сделать, не хочу создавать для этого аргумента отдельную переменную.
  • Вопрос задан
  • 82 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Потому что $count это не ограничение на количество замен, а туда записывается сколько раз сработала замена.

Потому туда надо передавать переменную, а не цифру.

sandbox.onlinephpfunctions.com/code/87f0105ff5614c...

str_replace(
    array|string $search,
    array|string $replace,
    string|array $subject,
    int &$count = null
): string|array

https://www.php.net/manual/ru/function.str-replace.php
Ответ написан
Комментировать
402d
@402d
начинал с бейсика на УКНЦ в 1988
https://www.php.net/manual/ru/function.str-replace.php
int &$count = null

амперсенд перед параметром .
описание параметра
count
Если передан, то будет установлен в количество произведённых замен.

Т.е. четвертый параметр работает как дополнительный результат из функции.
просто пишите 3 аргумента

в режиме телепата думаю вы хотели заменить только первое вхождение.
https://stackoverflow.com/questions/1252693/using-...
например как по ссылке
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы