str_replace匹配数组不正确

时间:2015-04-03 14:40:43

标签: php str-replace

我的代码是

$detail='[rollno],[name]';
$details=explode(",", $detail);
$msg="Your rollno is [rollno], Your name is [name] Thanks ";
print str_replace($details, array("abc", "1225"), $msg );
echo "<br/>";
print str_replace($details, array("xyz", "1335"), $msg );
echo "<br/>";

输出是:

Your rollno is abc, Your name is 1225 Thanks 
Your rollno is xyz, Your name is 1335 Thanks 

Array ( [0] => [rollno] [1] => [name] )

如果细节变量序列与上面的相同

,我无法打印正确的名称和rollno序列

1 个答案:

答案 0 :(得分:0)

Brackets []是创建数组的快捷方式,所以你在这里做的是:

array(array(0) => array(rollno) array(1) => array(name));

这是错误的语法。

你必须用[&#34;&#34;否则PHP会认为你正在尝试创建一个数组。

也许你应该试试这个:

$details = ["[rollno]", "[name]"];

$details = array("[rollno]","[name]");

PHP会自动将数字键设置为0和1。