我正在查看引发上述错误的以下代码部分:
$rv = "'".str_replace("'", "''", str_replace(':', '\\x3a', str_replace('\\', '\\x5c', $value)))."'";
为了使这个更容易阅读,我将上述内容分解为离散的陈述:
$sq = "'";
$dq = "''";
$sr1_value = str_replace(':', '\\x3a', $value);
$sr2_value = str_replace('\\', '\\x5c', $sr1_value);
$sr3_value = str_replace($sq, $dq, $sr2_value);
$sr4_value = $sq.$sr3_value.$sq;
$rv = $sr4_value;
第二行到最后一行导致出现Array to string conversion错误。
我尝试过连接该字符串的其他方法(即括号,substr_replace),我甚至尝试在sr3_value上使用implode,这会抛出“参数必须是数组”的错误。
我很难过,因为最初似乎错误是sr3_value是一个数组,但是将它作为参数传递给implode()表明它不是。
有什么想法吗?
谢谢,
-John