从PHP多维数组替换
问题描述:
我一直在寻找一个PHP的方式可以替代这样从PHP多维数组替换
<?php
$ar = array(
"ToFind" => "ToBeReplaced",
"ToFind1" => "ToBeReplaced1"
);
?>
等字符串?
任何帮助? 感谢
答
简单的更换任务可以做这样的使用str_replace
:
$string = str_replace(array_keys($ar), array_values($ar), $string);
如实施例中指出,由于进行了更换左到右,即这有时会导致意外的行为。第一替换的输出用作第二替换的输入等等。关于PHP manual page for str_replace
的评论包含很多关于替换原始字符串中的出现的想法。 This one,例如,可能你正在寻找接近:
function stro_replace($search, $replace, $subject)
{
return strtr($subject, array_combine($search, $replace));
}
$search = array('ERICA', 'AMERICA');
$replace = array('JON', 'PHP');
$subject = 'MIKE AND ERICA LIKE AMERICA';
echo str_replace($search, $replace, $subject);
// output: "MIKE AND JON LIKE AMJON", which is not correct
echo stro_replace($search, $replace, $subject);
// output: "MIKE AND JON LIKE PHP", which is correct
答
$ar = array("ToFind" => "ToBeReplaced", "ToFind1" => "ToBeReplaced1");
echo str_replace(array_keys($ar), $ar, $subject);
这个数组不是多维,BTW。 – deceze
我认为你的意思是关联数组,而不是多维的。 – EdoDodo