我有功能:
function abc( $name, $city = 'duhok', $age = 30 ){
echo $name.", ".$city.", ".$age;
}
abc( 'Dilovan', null, 26 ); // output: Dilovan, , 26
我想要输出:Dilovan, duhok, 26
我想在不设置第二个参数的情况下使用此函数,第二个参数写入默认值。
abc( 'Dilovan', [what i use here to write defualt value ?], 26 );
答案 0 :(得分:3)
简短回答:如果不编写一些代码,这是不可能的。
将此逻辑添加到函数体而不是声明中;例如:
function abc($name, $city = null, $age = 30)
{
$city = $city !== null ? $city : 'duhok';
// rest of your code
}
然后你可以这样调用这个函数:
abc('Dilovan', null, 29);
如果给定的$city
为null
,则会分配默认值。
您可以使用Reflection找出参数的默认值:
$rf = new ReflectionFunction('abc');
$params = $rf->getParameters();
$default_city = $params[1]->getDefaultValue();
abc('Dilovan', $default_city, 26);
答案 1 :(得分:-1)
传递null
:
abc( 'Dilovan',null, 26 );
答案 2 :(得分:-1)
测试Here
function abc( $name, $city = null, $age = 30 )
{
if( $city == null )
{
$city = 'duhok';
}
echo $name.", ".$city.", ".$age;
}
abc( 'Dilovan', null, 26 );
答案 3 :(得分:-1)
试试这个
function abc( $name, $city = 'duhok', $age = 30 )
{
if($city == null || $city == NULL)
{
$city = 'duhok'
}
echo $name.", ".$city.", ".$age;
}