运行此PHP代码时:
// test value
$value = "123456-7890";
// remove blank spaces and explode
$value = str_replace(' ', '', $value);
$value = explode('-', $value);
// check number of digits depending on format
if ((count($value) == 1 && strlen($value[0]) != 10) || (strlen($value[0]) != 6 || strlen($value[1]) != 4))
{
echo "wrong number of digits!";
}
我得到以下错误:
PHP Fatal error: Call to undefined function () in /Users/Rikard/Desktop/test.php on line 10
据我所知,问题出现在这一部分:strlen($value[0]) != 10
,但我不明白它为什么会出现,有什么想法吗?
您可以看到:
if ((count($value) == 1 && strlen($value[0]) != 10) || (strlen($value[0]) != 6 || strlen($value[1]) != 4))
PHP看到了这一点(•
表示不间断空间):
if ((count($value) == 1 && strlen($value[0]) != 10) ||•(strlen($value[0]) != 6 || strlen($value[1]) != 4))
当我无辜地试图从Mac/Safari复制一些代码时,这种情况总是发生在我身上。顺便说一句,我试图"编辑"你的问题,并从那里复制了代码以供进一步检查。
PHP将非中断空格解释为有效的函数名,并尝试执行它:
•(strlen($value[0])