首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

func_num_args

(PHP 4, PHP 5, PHP 7)

func_num_args - 返回传递给函数的参数个数

描述

代码语言:javascript
复制
int func_num_args ( void )

获取传递给函数的参数的数量。

此函数可以与func_get_arg()和func_get_args()一起使用,以允许用户定义的函数接受可变长度参数列表。

返回值

返回传递给当前用户定义函数的参数数量。

Changelog

版本

描述

5.3.0

该功能现在可以用于参数列表中。

5.3.0

如果通过调用include或require从调用文件中的某个函数内包含的文件的最外层范围调用此函数,它现在会生成警告并返回-1。

Errors/Exceptions

如果从用户定义的函数外部调用,则会生成警告。

示例

Example #1 func_num_args() example

代码语言:javascript
复制
<?php
function foo()
{
    $numargs = func_num_args();
    echo "Number of arguments: $numargs\n";
}

foo(1, 2, 3);   
?>

上面的例子将输出:

代码语言:javascript
复制
Number of arguments: 3

Example #2 func_num_args() example before and after PHP 5.3

代码语言:javascript
复制
test.php
<?php
function foo() {
    include './fna.php';
}

foo('First arg', 'Second arg');
?>

fna.php
<?php

$num_args = func_num_args();
var_export($num_args);

?>

PHP 5.3之前的输出:

代码语言:javascript
复制
2

PHP 5.3和更高版本中的输出将类似于:

代码语言:javascript
复制
Warning: func_num_args():  Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fna.php on line 3
-1

笔记

注意:由于此函数依赖于当前范围来确定参数详细信息,因此它不能在5.3.0之前的版本中用作函数参数。如果必须传递此值,则应将结果分配给一个变量,并且应该传递该变量。

另请参阅

  • ... syntax in PHP 5.6+
  • func_get_arg()
  • func_get_args()
  • ReflectionFunctionAbstract::getNumberOfParameters()

← func_get_args

function_exists →

扫码关注腾讯云开发者

领取腾讯云代金券