我正在使用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; ?>
第二屆查詢返回所需的結果,我在我的代碼中使用它,但我不清楚爲什麼第一個查詢無法正常工作。
在實際代碼我通過讀取頁的全局變量提供替換(例如18)的主題:
global $objPage;
$idT=str_replace($idPage,$idCompetition,$objPage->id);
感謝。
'
Rizier123
2015-04-01 11:00:12
在第一個查詢程序做: 1串18 2.改變18 2147 3後,在我們的字符串,找到(2147),21發現,更改爲2148找到18,我們的串是214847 – 2015-04-01 11:01:33
@ Rizier123,大聲笑...它不是我所知...我犯了錯誤,然後複製粘貼它... :) – darkoKc 2015-04-01 11:25:56