php.net上的函数签名是什么意思?

时间:2015-03-13 17:45:13

标签: php

例如,当我查看system函数的文档时: 它说:

  

string system(string $ command [,int& $ return_var])

这是什么意思? 感谢

4 个答案:

答案 0 :(得分:1)

表示函数名是system(),它们是此函数的参数和类型。

在这种情况下,string $命令是必需的(并且您需要传递有效的String值)。如果你有括号,就像在(& $ return_var)中是一个可选参数(&意味着变量将作为参考传递,所以返回值将在你传递给函数的变量上)。

答案 1 :(得分:1)

请参阅此处了解php.net本身的说明:

http://php.net/manual/en/about.prototypes.php

答案 2 :(得分:1)

所以对于以下部分:

string system ( string $command [ , int & $return_var ]  )
1      2      3 4      5        6 7 8   9 10          11 12

按顺序:

  1. string - 返回类型
  2. system - 命令名称
  3. ( - 函数参数的开头
  4. string - 第一个参数的类型
  5. $ command - 第一个参数的名称(这只是一个提示,它不会影响你调用函数的方式)
  6. [ - 可选参数的开头
  7. , - 这表示您使用逗号分隔参数
  8. int - 第一个可选参数的类型
  9. &安培; - 表示第一个可选参数将通过引用传递(该函数可以修改传递的变量**)
  10. $ return_var - 第一个可选参数的名称
  11. ] - 可选参数的结尾
  12. ) - 函数参数的结尾
  13. 暗示调用该函数可能需要什么。从语法上讲,以下都可以:

    $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

答案 3 :(得分:-2)

stringint的列表告诉您它所期望的价值类型。它希望system的类型为string,依此类推。如果您为int添加system,则会出现错误