您当前的位置: 首页 > 网站编程 > PHP教程 > PHP中func_get_args的用法

PHP中func_get_args的用法

作者:不详 来源:网络 发布时间: 2011-09-03 21:50 点击:
1.函数的动态参数 ?php $cacheServerConfig = array('host' = 'localhost', 'port' = 11211); function getCacheObj() { $a = func_get_args(); var_dump($a); if (is_array($a[0])) { $cacheServerConfig = $a[0]; } else { $cacheServerConfig = $GLOBALS['cacheServ

PHP中func_get_args的用法

1.函数的动态参数
<?php
$cacheServerConfig = array('host' => 'localhost', 'port' => 11211);
function getCacheObj() {
$a = func_get_args();
var_dump($a);

if (is_array($a[0])) {
$cacheServerConfig = $a[0];
} else {
$cacheServerConfig = $GLOBALS['cacheServerConfig'];
}

if (!is_array($cacheServerConfig)) {
die("Parameter \$cacheServerConfig must be an array!");
}

if (is_array($a[0])) {
array_shift($a);
}

var_dump($a);
Util::loadLib('cache/Cache.class');

$cache = Cache::factory($cacheServerConfig, $a[0], $a[1], $a[2], $a[3], $a[4]);

return $cache;
}
getCacheObj($cacheServerConfig, '1616', 'hao123');
getCacheObj('a', 'b', 'c');
?>

输出如下:
array(3) {
[0]=>
array(2) {
["host"]=>
string(9) "localhost"
["port"]=>
int(11211)
}
[1]=>
string(4) "1616"
[2]=>
string(6) "hao123"
}
array(2) {
[0]=>
string(4) "1616"
[1]=>
string(6) "hao123"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}

测试一主要演示的是PHP中函数动态参数的用法,函数定义的时候是没有任何参数的,调用的时候想传什么参数就传什么参数,想传多少参数就传多少参数,完全由你自己来控制。

2.函数的默认参数
function testArgs($type = 'memcached') {
$numargs = func_num_args();
echo "Number of arguments: $numargs\n";

echo "type: $type\n";
$a = func_get_args();
var_dump($a);
}
testArgs();
testArgs('kt');

输出如下:
Number of arguments: 0
type: memcached
array(0) {
}
Number of arguments: 1
type: kt
array(1) {
[0]=>
string(2) "kt"
}

从以上的输出可以说明一个问题,当函数有默认参数,且在调用时不传递此参数时,函数func_get_args里面是不包含默认参数的,但是直接输出此参数时是有值的。

3.注意问题
func_get_arg, func_get_args, func_num_args这三个函数不能直接作为函数的参数。

注: 因为本函数依赖于当前域来决定参数细节,因此不能用作函数参数。如果必须要传递这个值,将结果赋给一个变量,然后传递该变量。
 

分享到:
本文"PHP中func_get_args的用法"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(4)
100%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4