Why str_replace is not replacing correctly

前端 未结 2 846
不知归路
不知归路 2021-01-24 00:29

Here is my script

$searchArray = array(\"Coupon Codes\", \"Coupon Code\", \"Promo\", \"Promo Codes\");

$replaceArray = array(\"Promo Code\", \"Promo Codes\", \"         


        
2条回答
  •  醉酒成梦
    2021-01-24 01:08

    As on: http://php.net/manual/en/function.str-replace.php

    Because str_replace() replaces left to right, it might replace a previously inserted value when doing multiple replacements. See also the examples in this document.
    

    So here's what happens:

    Best Buy Coupon Codes -> Best Buy Promo Code (first pair) -> Best Buy Coupons Code (third pair)

    Change $searchArray (and $replaceArray) it in a way that the next examples doesn't include previous ones in them (i.e. from shortest string to longest string)

提交回复
热议问题