PHP 的自定义函数
时间:2011-09-28
来源:互联网
{}
我想把第二个参数可选
就是在调用的时候可以只给一个参数吗
mzrui_display('1111') 第二个参数可以给,也可以不给???
我现在测试的会报错 Warning: Missing argument 2 要怎么解决??
还是参数必须一一对应???
作者: SHANDIANDIAN 发布时间: 2011-09-28
{}
你给它一个默认值就行了。随便设。
作者: jordan102 发布时间: 2011-09-28
function mzrui_display($t_name,$id='')
{}
你给它一个默认值就行了。随便设。
+1
作者: yhkyo 发布时间: 2011-09-28
作者: niuchaokf524 发布时间: 2011-09-29
function mzrui_display($t_name,$id)
{}
我想把第二个参数可选
就是在调用的时候可以只给一个参数吗
mzrui_display('1111') 第二个参数可以给,也可以不给???
我现在测试的会报错 Warning: Missing argument 2 要怎么解决??
还是参数必须一一对应???
这种写法是不符合规范的,建议要给参数赋默认值,例如改为:
function mzrui_display($t_name,$id=-1)
{}
或者干脆参数也不用了,直接使用func_get_args,改为:
PHP code
function mzrui_display() { $args = func_get_args(); $args_num = func_num_args(); if($args_num == 0){ echo '请输入参数'; exit; } if($args_num == 1){ $t_name = $args[0]; } if($args_num >= 2){ $t_name = $args[0]; $id = $args[1]; } }
作者: skyaspnet 发布时间: 2011-09-29
func_get_args
(PHP 4, PHP 5)
func_get_args — Returns an array comprising a function's argument list
说明
array func_get_args ( void )
Gets an array of the function's argument list.
This function may be used in conjunction with func_get_arg() and func_num_args() to allow user-defined functions to accept variable-length argument lists.
返回值
Returns an array in which each element is a copy of the corresponding member of the current user-defined function's argument list.
更新日志
版本 说明
5.3.0 This function can now be used in parameter lists.
5.3.0 If this function is called from the outermost scope of a file which has been included by calling include() or require() from within a function in the calling file, it now generates a warning and returns FALSE.
错误/异常
Generates a warning if called from outside of a user-defined function.
范例
Example #1 func_get_args() example
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs<br />\n";
if ($numargs >= 2) {
echo "Second argument is: " . func_get_arg(1) . "<br />\n";
}
$arg_list = func_get_args();
for ($i = 0; $i < $numargs; $i++) {
echo "Argument $i is: " . $arg_list[$i] . "<br />\n";
}
}
foo(1, 2, 3);
?>
以上例程会输出:
Number of arguments: 3<br />
Second argument is: 2<br />
Argument 0 is: 1<br />
Argument 1 is: 2<br />
Argument 2 is: 3<br />
Example #2 func_get_args() example before and after PHP 5.3
test.php
<?php
function foo() {
include './fga.inc';
}
foo('First arg', 'Second arg');
?>
fga.inc
<?php
$args = func_get_args();
var_export($args);
?>
Output previous to PHP 5.3:
array (
0 => 'First arg',
1 => 'Second arg',
)
Output in PHP 5.3 and later:
Warning: func_get_args(): Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fga.inc on line 3
false
Example #3 func_get_args() example of byref and byval arguments
<?php
function byVal($arg) {
echo 'As passed : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'After change : ', var_export(func_get_args()), PHP_EOL;
}
function byRef(&$arg) {
echo 'As passed : ', var_export(func_get_args()), PHP_EOL;
$arg = 'baz';
echo 'After change : ', var_export(func_get_args()), PHP_EOL;
}
$arg = 'bar';
byVal($arg);
byRef($arg);
?>
以上例程会输出:
As passed : array (
0 => 'bar',
)
After change : array (
0 => 'bar',
)
As passed : array (
0 => 'bar',
)
After change : array (
0 => 'baz',
)
作者: skyaspnet 发布时间: 2011-09-29
(PHP 4, PHP 5)
func_num_args — Returns the number of arguments passed to the function
说明
int func_num_args ( void )
Gets the number of arguments passed to the function.
This function may be used in conjunction with func_get_arg() and func_get_args() to allow user-defined functions to accept variable-length argument lists.
返回值
Returns the number of arguments passed into the current user-defined function.
更新日志
版本 说明
5.3.0 This function can now be used in parameter lists.
5.3.0 If this function is called from the outermost scope of a file which has been included by calling include() or require() from within a function in the calling file, it now generates a warning and returns -1.
错误/异常
Generates a warning if called from outside of a user-defined function.
范例
Example #1 func_num_args() example
<?php
function foo()
{
$numargs = func_num_args();
echo "Number of arguments: $numargs\n";
}
foo(1, 2, 3);
?>
以上例程会输出:
Number of arguments: 3
Example #2 func_num_args() example before and after PHP 5.3
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);
?>
Output previous to PHP 5.3:
2
Output in PHP 5.3 and later will be something similar to:
Warning: func_num_args(): Called from the global scope - no function
context in /home/torben/Desktop/code/ml/fna.php on line 3
-1
作者: skyaspnet 发布时间: 2011-09-29
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28