如何知道php函数中的预定义参数?

时间:2017-03-22 10:36:54

标签: php function

如果php函数中有2个参数,如何知道哪个参数保留在第一个和另一个参数。

这是一个php函数array_search($needle,$array)。这将在数​​组$needle中搜索$array

array_slice($array, 2)切片中要在数组$array中完成第一个参数。

trim($string, 'abc')修饰将在字符串中完成$ string是第一个参数。

有没有办法记住哪个参数首先出现?我认为我们可以记住功能但是记住参数对于所有功能都是不可能的。

谢谢

1 个答案:

答案 0 :(得分:0)

欢迎使用PHP,

  

您可能最常见的关于PHP的抱怨是   标准库中函数的命名不一致和不清楚,   以及参数的同等不一致和不清楚的顺序。   一些典型的例子:

// different naming conventions
strpos
str_replace

// totally unclear names
strcspn                  // STRing Complement SPaN
strpbrk                  // STRing Pointer BReaK

// inverted parameter order
strpos($haystack, $needle)
array_search($needle, $haystack)

因此,如果您想检查(在您的应用程序中并远离手册页

作为解决此问题的工作,您可以在php中使用Reflection集合:

例如:

function getFunctionInfo($functionName) {
    $function = new ReflectionFunction($functionName);

    return [
        'name' => $function->getName(),
        'parameters' => array_column($function->getParameters(), 'name'),
        'numberOfParameters' => $function->getNumberOfParameters(),
        'requiredParameters' => $function->getNumberOfRequiredParameters()
    ];
}

print_r(getFunctionInfo('explode'));

这将输出:

Array ( 
    [name] => explode 
    [parameters] => Array ( 
        [0] => separator 
        [1] => str 
        [2] => limit 
    ) 
    [numberOfParameters] => 3 
    [requiredParameters] => 2 
)

和实时视图:https://3v4l.org/T2Nad

以上引用引自:nikic.github.io