16

我在第 57 行收到此错误:$password = str_replace($key, $value, $password, 1);

据我所知,我只传递变量。以下是更多上下文:

$replace_count = 0;
foreach($replacables as $key => $value)
{
    if($replace_count >= 2)
        break;
    if(strpos($password, $key) !== false)
    {
        $password = str_replace($key, $value, $password, 1);
        $replace_count++;
    }

}
4

2 回答 2

11

您不能传递 1 的常量,解决方法是将其设置为变量。

改变:

$password = str_replace($key, $value, $password, 1);

至:

$var = 1
$password = str_replace($key, $value, $password, $var);

更新:更改为在评论反馈的方法调用之外声明变量。

于 2013-06-24T15:53:27.583 回答
10

经过1那里没有任何意义。(为什么不通过42,或?) 的第 4-5参数str_replace仅用于将信息传回给您。该函数根本不使用变量的原始。那么,如果不使用某些东西,并且您不会使用发回给您的新值,那么传入某些东西(即使允许)又有什么意义呢?该参数是可选的;只是不要通过任何东西。

于 2013-06-25T22:45:55.870 回答