PHP在许多具有默认值的参数中只提供一个特定参数

PHP在许多具有默认值的参数中只提供一个特定参数,php,function,methods,parameters,Php,Function,Methods,Parameters,可能的答案之一。基本上,检查值是否为null,然后分配一个默认值 <?php class klasa { public function funkcja($x = 'default', $y = 'value') { var_dump($x); var_dump($y); } } $x = new klasa; $x->funkcja('other value'); $x===null-检查$x是否为null ? “默认

可能的答案之一。基本上,检查值是否为null,然后分配一个默认值

<?php

class klasa {
    public function funkcja($x = 'default', $y = 'value')
    {
        var_dump($x);
        var_dump($y);
    }
}

$x = new klasa;
$x->funkcja('other value');

$x===null
-检查
$x
是否为null

“默认值”
-如果为则指定一个默认值

$x
-如果不正确请从
中重新指定其值

,注意,使用默认参数时,任何默认值都应位于任何非默认参数的右侧;否则,事情将无法按预期进行
。。。如果必须这样做,请考虑传递一个包含关联数组的参数;但是您必须处理函数代码中的差异
class klasa {
    public function funkcja($x, $y = 'value')
    {
        $x = ($x === null ? 'default' : $x);

        var_dump($x);
        var_dump($y);
    }
}

$x = new klasa;
$x->funkcja(null, 'value');