例如,当我查看系统功能的文档时:它说:
字符串系统 ( 字符串 $command [, int &$return_var ] )
这是什么意思?谢谢
所以对于以下部分:
string system ( string $command [ , int & $return_var ] )
1 2 3 4 5 6 7 8 9 10 11 12
挨次:
- 字符串 - 返回类型
- 系统 - 命令名称
- ( - 函数参数的开头
- 字符串 - 第一个参数的类型
- $command - 第一个参数的名称(这只是一个提示,它不会影响你调用函数的方式)
- [ - 可选参数的开头
- , - 这是为了表明你用逗号分隔参数
- int - 第一个可选参数的类型
- &-表示第一个可选参数将通过引用传递(函数可以修改传递的变量**)
- $return_var - 第一个可选参数的名称
- ] - 可选参数的结尾
- ) - 函数参数的结尾
它暗示了调用该函数可能需要什么。因此,从语法上讲,以下内容是可以的:
$return_type = 1;
system("String!", $return_type);
//$return_type could have changed
system("String!", $return_type);
system("String!");
但以下不是:
system();
system($var_that_wont_cast_to_string);
** PHP 文档通过引用传递:http://php.net/manual/en/language.references.pass.php
表示函数名称为 system(),这些是该函数的参数和类型。
在这种情况下,字符串$command是必需的(并且您需要传递有效的字符串值)。当你有括号时,比如 in (&$return_var) 是一个可选参数(并表示变量将作为引用传递,因此返回值将位于你传递给函数的变量上)。
有关 php.net 本身给出的描述,请参阅此处:
http://php.net/manual/en/about.prototypes.php
string
或int
的列表告诉您它期望什么类型的值。 它期望system
是类型 string
,依此类推。 如果您为system
设置int
,则会收到错误