Php 不允许将函数调用用作默认值的目的是什么?

Php 不允许将函数调用用作默认值的目的是什么?,php,Php,说: 默认值必须是常量表达式,而不是(例如)常量 变量、类成员或函数调用 您能解释一下不允许使用函数调用(或其他)作为默认值的目的吗 附言:实际上可以调用内置函数,比如array(),但是不是自建的 UPD:: array()是一种用于表示文字数组的语言构造,并且 不是常规函数 这不是一个“目的”,而是一个技术限制 默认值由解析器在解析源代码时建立。值必须是在解析时可用且解析器可以解释的值;i、 e.它不能依赖于运行时信息(没有只在运行时存在的变量,没有以后可能定义或可能不定义的其他函数),也不

说:

默认值必须是常量表达式,而不是(例如)常量 变量、类成员或函数调用

您能解释一下不允许使用函数调用(或其他)作为默认值的目的吗

附言:实际上可以调用内置函数,比如array(),但是不是自建的

UPD:

array()是一种用于表示文字数组的语言构造,并且 不是常规函数

这不是一个“目的”,而是一个技术限制

默认值由解析器在解析源代码时建立。值必须是在解析时可用且解析器可以解释的值;i、 e.它不能依赖于运行时信息(没有只在运行时存在的变量,没有以后可能定义或可能不定义的其他函数),也不能是解析器无法计算的表达式(需要计算的复合表达式,没有需要运行时的函数调用)。这就给你留下了简单的文字,比如字符串、数字和数组文字。

这不是一个“目的”,而是一个技术限制


默认值由解析器在解析源代码时建立。值必须是在解析时可用且解析器可以解释的值;i、 e.它不能依赖于运行时信息(没有只在运行时存在的变量,没有以后可能定义或可能不定义的其他函数),也不能是解析器无法计算的表达式(需要计算的复合表达式,没有需要运行时的函数调用)。这就给你留下了简单的文字,比如字符串、数字和数组文字。

不,
array()
不是一个函数,而是一个“语言构造”。@CBroe你说得对。这是我的错不,
array()
不是函数,而是“语言构造”。@CBroe你说得对。这是我的错