PHP:什么是语言结构,为什么我们需要它们?
2022-08-30 22:47:23
我不断遇到这样的陈述:
echo
是一种语言构造,但 print 是一个函数,因此具有返回值
和
die
是一种语言结构
我的问题是这些语言结构是什么,更重要的是我们为什么需要它们?
我不断遇到这样的陈述:
echo
是一种语言构造,但 print 是一个函数,因此具有返回值
和
die
是一种语言结构
我的问题是这些语言结构是什么,更重要的是我们为什么需要它们?
语言结构被硬编码到PHP语言中。他们不按正常规则行事。
例如,每当您尝试访问不存在的变量时,都会收到错误。要在访问变量之前测试该变量是否存在,您需要咨询或:isset
empty
if (isset($foo))
如果是正常函数,您也会在那里收到警告,因为您正在访问以将其传递到函数中。由于是一种语言结构,因此这可以正常工作而不会引发警告。这就是为什么文档明确区分了普通函数和语言构造的原因。isset
$foo
isset
isset
语言结构是构成语言的东西:像“if”“for”while“”function“等等。
PHP手册中提到的“echo”,“die”或“return”等内容是为了清楚地表明这些不是函数,并且它们并不总是像函数一样。
你可以把“echo”称为“echo()”,这样它可能会让初学者感到困惑。这就是为什么他们在手册中明确说明的原因。让每个人都绝对清楚。
可能被误认为是函数的语言构造的其他示例是“array()”,“list()”和“each()”。