我不知道如何预定义函数中的变量之一。
<?php
$number = 3;
function test($num, $num2 = $number) {
$result = "num = ".$num." and num2 = ".$num2;
return $result;
}
echo test(1);
?>
它总是打印出来:
致命错误:第3行中C:\ xampp \ htdocs \ php \ index.php中的常量表达式包含无效操作
答案 0 :(得分:1)
最好像这样使用它:
function test($num, $num2 = 3) {/**/}
但是,如果确实需要,可以定义一个常量:
const NUMBER = 3;
function test($num, $num2 = NUMBER)
{
$result = "num = $num and num2 = $num2";
return $result;
}
echo test(1); // returns "num = 1 and num2 = 3"
还有3d选项,如果您想使用一些动态变量:
$number = 3;
function test($num, $num2)
{
$result = "num = $num and num2 = $num2";
return $result;
}
echo test(1, $number); // returns "num = 1 and num2 = 3"
或者您可以使用课程:
class Test
{
protected $number;
public function __construct($number)
{
$this->number = $number;
}
public function test($num)
{
$result = "num = $num and num2 = $this->number";
return $result;
}
}
$test = new Test(3);
echo $test->test(1); // returns "num = 1 and num2 = 3"
答案 1 :(得分:0)
如果要将默认值分配给param,则必须使用值(常量表达式)而不是var(变量表达式)
function test($num, $num2 = 3 )