我正在使用000webhost,我制作了一个自定义的PHP函数,如下所示:
function example($test1, $test2, $test3) {
echo $test1 . $test2 . $test3;
}
然后我做example('hello');
并说:
PHP Error Message
Warning: Missing argument 2 for example(), called in /home/a8525001/public_html/test.php on line 5 and defined in /home/a8525001/public_html/test.php on line 2
Free Web Hosting
PHP Error Message
Warning: Missing argument 3 for example(), called in /home/a8525001/public_html/test.php on line 5 and defined in /home/a8525001/public_html/test.php on line 2
Free Web Hosting
1
有没有办法可以在不访问服务器的php.ini的情况下停止这些警告?相同的代码在我的xampp服务器上工作正常......
提前致谢,
本
答案 0 :(得分:1)
您有几个选项,其中有两个选项:
设置为null(定义它们)时可以使用以下内容。
function example($test = NULL, $test2 = NULL, test3 = NULL) {
// use variables here but do something like this to check it isn't empty
if($test !== NULL) {
echo $test;
}
/// etc...and use the rest in whatever you need
}
或者你可以使用func_get_args()
,这可以让你像这样:
function example() {
$args = func_get_args();
foreach($args as $i => $arg) {
echo "Argument {$i} is: {$arg} <br />";
}
}
允许你做类似的事情:
example('derp', 'derp1', 'derp2');
以上功能将返回:
Argument 0 is: derp
Argument 1 is: derp1
Argument 2 is: derp2
(可选):您可以使用func_num_args()
来确保在函数中设置参数。
答案 1 :(得分:0)
得到答案:D,
要使函数中的变量可选,请在代码本身中定义它,例如:
function example($test1, $test2 = NULL, $test3 = NULL) {
echo $test1 . $test2 . $test3;
}
然后,已经定义了值,但是当调用函数时,如果定义了可选值,它将覆盖NULL。