Rumah > pembangunan bahagian belakang > tutorial php > 为什么str_replace返回的数据错误

为什么str_replace返回的数据错误

WBOY
Lepaskan: 2016-08-04 09:19:15
asal
1542 orang telah melayarinya

例:替换英文逗号,空格字符,或者中文逗号
$str = '正确,联系我们 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的数据是:username like %正确%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%联系我们%, or username like %goodsjob%, or username like %goodsjob%,为什么呢?

正确的结果应该是:usernme like %正确%, or username like %联系我们%, or username like %goodsjob%

回复内容:

例:替换英文逗号,空格字符,或者中文逗号
$str = '正确,联系我们 goodsjob,goodsjob';
$reg = array(',',' ',',' );
$strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
返回的数据是:username like %正确%,%, or username like %or%, or username like %username%, or username like %like%, or username like %%联系我们%, or username like %goodsjob%, or username like %goodsjob%,为什么呢?

正确的结果应该是:usernme like %正确%, or username like %联系我们%, or username like %goodsjob%

先把空格替换成其他字符 $str在替换的过程中,=》 %, or username like % ,这里面也存在满足你替换规则的字符串所以会影响到结果

<code>        $str = '正确,联系我们 goodsjob,goodsjob';
        $str = str_replace(' ', ' ', $str);
        $reg = array(',',','," ");
        $strs = 'username like %'.str_replace($reg,'%, or username like %',$str).'%';
        
        

</code>
Salin selepas log masuk

注意:由于str_replace()函数替换左到右,它可能会进行多次替换时替换以前插入的值。

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan