根据http://php.net/manual/en/functions.user-defined.php,我应该可以使用下划线 (_) 作为函数名:
函数名称遵循与 PHP 中其他标签相同的规则。有效的函数名称以字母或下划线开头,后跟任意数量的字母、数字或下划线。作为一个正则表达式,它可以这样表达:[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*。
但是,以下内容会杀死我的程序而不会导致任何错误:
error_reporting(E_ALL);
echo('start');
function _($x){return ($x)?htmlspecialchars($x):'nbsp;';}
echo('end');
我正在使用 PHP 版本 5.3.18。我不明白什么?