php中的if语句判断季节,php – 在多个if语句中检测哪个条件为false

我试图缩短我的代码,所以我来缩短以下类型的if语句:

// a,b,c,d needed to run

if ( empty(a) ) {

echo 'a is empty';

} elseif ( empty(b) ) {

echo 'b is empty';

} elseif ( empty(c) ) {

echo 'c is empty';

} elseif ( empty(d) ) {

echo 'd is empty';

} else {

// run code with a,b,c,d

}

有没有办法检测哪一个条件是假的(是emtpy)?

if ( empty(a) || empty(b) || empty (c) || empty(d) ) {

echo *statement n*.' is empty';

} else {

// run code with a,b,c,d

}

我想过一个for循环,但这需要大量的代码更改.

也许有人可以指出我正确的方向.

提前致谢 :)

解决方法:

使用compact,array_filter和array_diff:

$arr = compact( 'a', 'b', 'c', 'd' );

if( count( $empty = array_diff( $arr, array_filter( $arr ) ) ) )

{

echo key( $empty ) . ' is empty';

}

else

{

echo 'OK';

}

通过这种方式,在$empty中,您拥有所有空值.因此,您可以回显所有键的警告:

echo 'Empty: ' . implode( ', ', array_keys( $empty ) );

标签:php,if-statement

来源: https://codeday.me/bug/20190724/1525294.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值