str_replace与数组

时间:2013-01-08 03:01:31

标签: php

$a = $_GET['a'];
$d = array("æ", "ø", "å", "Æ", "Ø", "Å");
$e = array("&aelig", "&oslash", "&aring", "&AElig", "&Oslash", "&Aring");
$new = str_replace("$d","$e","$a");
echo $new;

有谁能告诉我这里我做错了什么。如果我写的话,它的效果非常好:

$a = $_GET['a'];
new = str_replace("ø","&oslash","$a");
echo $new;

然后至少更换了“ø”,但我真的想用两个阵列来做,而不是一次更换一个字母,6次......

1 个答案:

答案 0 :(得分:5)

$new = str_replace($d, $e, $a);

您传递的是变量,而不是包含变量的字符串。

如果比较此代码中的输出

$a = array(123);
var_dump($a);
var_dump("$a");

你会注意到,第一个是一个数组,第二个是一个字符串,其中数组被隐式地转换为字符串。