我在 PHP 脚本中有一个 foreach 循环,它从数据库中输出图标/链接。我已经使用这个问题来使用 str_replace 在图标呈现后更改一些值。
foreach ($icons as $ic)
{ echo str_replace('{{EMP_NO}}', $_SESSION['EmpNo'], $ic['url']) . ' '; }
我需要对值 {{FIRST_NAME}} 执行类似的操作,但是当我附加第二个 str_replace 时,第二个命令/值被忽略。像这样:
foreach ($icons as $ic)
{ echo str_replace('{{EMP_NO}}', $_SESSION['EmpNo'], $ic['url']) . ' '; }
{ echo str_replace('{{FIRST_NAME}}', $_SESSION['FirstName'], $ic['url']) . ' '; }
当我尝试像这样组合它们时,它会将我不想要的图标输出加倍:
foreach ($icons as $ic) { echo str_replace('{{EMP_NO}}', $_SESSION['EmpNo'], $ic['url']) . ' '; echo str_replace('{{FIRST_NAME}}', $_SESSION['FirstName'], $ic['url']) . ' '; }
我还如何 str_replace {{FIRST_NAME}}?
str_replace
可以代替阵列值来阵列其他值:
foreach ($icons as $ic) {
echo str_replace(
array('{{EMP_NO}}', '{{FIRST_NAME}}'),
array($_SESSION['EmpNo'], $_SESSION['FirstName']),
$ic['url']) . ' '
);
}
正如@David 的回答中已经提到的,虽然您的代码具有正确的语法,但其逻辑存在缺陷。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句