Я использую функцию str_replace(), чтобы заменить некоторые значения в массиве и использовать новое значение позже в запросе mysql. Однако я нашел странную ситуацию, которую я не могу понять. Почему эти запросы не возвращают один и тот же результат?PHP str_replace: порядок элементов в массивах и результат вывода
Первая версия кода возвращает: 214847
<php? $idPage=array(18,21,22);
$idCompetition=array(2147,2148,2149);
$idT=str_replace($idPage,$idCompetition,18);
echo $idT; ?>
И если изменить порядок в массивах, результат: 2147
<php? $idPage=array(21,22,18);
$idCompetition=array(2148,2149,2147);
$idT=str_replace($idPage,$idCompetition,18);
echo $idT; ?>
2-й запрос возвращает нужный результат, и я использовал его в моем коде, но мне непонятно, почему первый запрос работает некорректно.
В реальном коде я обеспечиваю предмет замены (например, 18) путем считывания глобальной переменной страницы:
global $objPage;
$idT=str_replace($idPage,$idCompetition,$objPage->id);
Спасибо.
'
Rizier123
В первой программе запросов: 1. найти 18 в строке 18 2. изменить с 18 по 2147. 3 после этого найти в нашей строке (2147), 21 найдено и обмениваться на 2148, Наша строка 214847 –
@ Rizier123, lol ... это не так, как я знаю ... Я ошибся, а потом скопировал его ... :) – darkoKc