2015-11-29 63 views
1

我试图了解str_replace函数。str_replace函数如何工作?

代码:

$a = array(1,8,7,5); 
$b = array(3,7,11,6); 
$str = '879'; 
$c = str_replace($a, $b , $str); 
echo $c; 

输出:

我不明白的输出。有人可以解释str_replace函数的工作原理吗?

+1

RTM:http://php.net/manual/en/function.str-replace.php – Rizier123

+0

井的答案是明确的。如果你希望得到879的结果是7119,那么你可以使用'strtr' https://3v4l.org/AVemR – sinaza

回答

1

str_replace取代对值从提供的阵列$a$b。 ?它的顺序,因此str_replace($a, $b , $str)表示:

replace 1 to 3, 
then replace 8 to 7, 
then replace 7 to 11 
and finally replace 5 to 6. 

所以,让我们去:

  • 输入879,取代1〜3个,输出879
  • 输入879,更换8比7,输出779
  • 输入779,替换7到11,输出11119
  • 输入11119,取代的5至6,输出11119
+0

ThanksI没有看到递归。 – Pedro

1

很简单,你必须879

  1. 8 => 7

所以你现在有779

  • 7 => 11
  • 现在你有11119

    您没有为9或11所提供的任何替代品,因此您退回数量为11119