当PHP语法在 php.net 上“理论上”解释时,如何理解它


How to understand PHP syntax when it's explained "in theory" on php.net?

我正在阅读 php.net 以熟悉新功能。我在学习任何编程语言方面都是新手,当我阅读任何函数的语法是如何解释的时,这对我来说并不容易。即:array_unshift()我明白这个:

int array_unshift(array array, mixed variable [,mixed variable...])

我读了一些例子,但我无法先验理解[编辑注意:没有任何先验知识]语法是如何工作的,只阅读理论解释。我没有找到与此相关的任何其他问题。

你错误地引用了函数定义,它是:

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )

这相当于:

return_type function_name ( type_hint $arg_name , type_hint $arg_name [, type_hint $...] )

...意味着它会接受尽可能多的论点,你想扔多少

这可以很容易地缩小到以下内容

  1. 返回值:int
  2. 方法名称:array_unshift
  3. 接受的参数列表:
    1. 第一个参数:
      • 类型: array
      • 将在描述等中使用的名称:array
    2. 第二个参数:
      • 类型:mixed(可能多种类型)
      • 将在描述等中使用的名称:variable

您可以在手册中阅读有关类型的更多信息。

如果你通过例子来理解,就像你说的,你总是可以:

php --rf array_unshift
Function [ <internal:standard> function array_unshift ] {
  - Parameters [3] {
    Parameter #0 [ <required> &$stack ]
    Parameter #1 [ <required> $var ]
    Parameter #2 [ <optional> $... ]
  }
}

但实际上,所有这些都在手册中进行了解释,您只需要学习要搜索的内容。