preg_replace
周末我做了一些工作,当我看到一些奇怪的东西时,我正在阅读PHPpreg_replace
文档。
文档中的示例 #2 显示,当给出以下 php 代码时
<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>
输出将是
"The bear black slow jumped over the lazy dog."
为了生成(在我看来)默认情况下应该输出的内容,我需要ksort()
事先调用。像这样:
<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
这真的不是 php 中错误的解决方法preg_replace()
吗?为什么 php 会这样?我在这里声明的数组是否有一些特殊之处?