php if判断或,php if 判断的问题。

有一段php的判断大家看看有没有更简洁的写法,或者别的方式可以实现

$cat_id = 0;

if(empty($a)){

if(empty($b)){

if(empty($c)){

return 0;

exit();

}else{

$cat_id = $c;

}

}else{

$cat_id = $b;

}

}else{

$cat_id = $a;

}

回复内容:

有一段php的判断大家看看有没有更简洁的写法,或者别的方式可以实现

$cat_id = 0;

if(empty($a)){

if(empty($b)){

if(empty($c)){

return 0;

exit();

}else{

$cat_id = $c;

}

}else{

$cat_id = $b;

}

}else{

$cat_id = $a;

}

$cat_id = $a ?: $b ?: $c ?: 0;

//对PHP版本有要求

喜欢这么写,没有嵌套

$cat_id = 0;

if($a) {

$cat_id = $a;

return;

}

if($b) {

$cat_id = $b;

return;

}

if($c) {

$cat_id = $c;

return;

}

return;

$cat_id = $a ? $a : ($b ? $b : ($c ? $c : 0));

$cat_id = 0;

if (!empty($a)) {

$cat_id = $a;

} elseif (!empty($b)) {

$cat_id = $b;

} elseif (!empty($c)) {

$cat_id = $c;

} else {

return 0;

}

function test($a, $b, $c)

{

if (empty($a)) {

if (empty($b)) {

if (empty($c)) {

return 0;

}

return $c;

}

return $b;

}

return $a;

}

$cat_id = test($a, $b, $c);

应该是没有更简单的写法了,但是可以优化成

$cat_id = 0;

if (! empty($c)) $cat_id = $c;

if (! empty($b)) $cat_id = $b;

if (! empty($a)) $cat_id = $a;

if (empty($cat_id)) exit;

function checkEmpty($a, $b = '', $c = ''){

if(empty($b) && empty($c)) exit();

return empty($a) ? checkEmpty($b,$c) : $a;

}

这个应该够简洁了!

$cat_id = 0;

while(1){

if(empty($a)){

$cat_id = $a;

break;

}

if(empty($b)){

$cat_id = $b;

break;

}

if(empty($c)){

$cat_id = $c;

break;

}

}

不写嵌套就行了

可读性强

以简驭繁

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值