gpt4 book ai didi

php - 为什么你不能定义一个名为 EMPTY 的常量

转载 作者:行者123 更新时间:2023-12-04 20:42:04 24 4
gpt4 key购买 nike

所以... 这更多的是一种好奇,而不是真正的问题。我不明白:

<?php
define('EMPTY', 1);
echo EMPTY;

结果:解析错误:语法错误,意外的';',期待'('

我的第一个想法是empty是为empty函数保留的。但后来我尝试了:

<?php
define('IS_ARRAY', 1);
echo IS_ARRAY;

结果:1​​

所以...我不明白。为什么 empty 不能用作常量,而例如 is_array、die 等可以。

最佳答案

empty 不是函数而是语言结构(更像是运算符而不是函数),这意味着它在解析时由解析器解析,而不是由运行时解析。这是一个保留关键字,您不能自己将其用于函数名称或常量等任何内容。

empty 不能是常规函数的原因是因为它的行为不同。 empty($undefined)会先解析$undefined,抛出错误,然后将null传给empty;这正是 empty 应该防止的情况,因此它不能按照正常的函数调用规则播放。

关于php - 为什么你不能定义一个名为 EMPTY 的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36149730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com