我正在使用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