标签:php
$data = array(
'apple'=>0,
'orange'=>5,
'mango'=>0
);
如您所见,橙色是唯一具有大于0值的键.假定苹果具有大于0的值.那么其他值将变为0.如果芒果的值大于0,则其他值将变为0.
我想找到哪个键的值大于0.
我可以这样写,但是有没有最简单的方法可以做到这一点.因为假设如果我有大量元素组成的数组,那么我猜这不是一种合适的方法.
if(!empty($data['apple'])&&empty($data['orange'])&&empty($data['mango'])){
// apple has value larger than 0
}else if(empty($data['apple'])&&!empty($data['orange'])&&empty($data['mango'])){
// orange has value larger than 0
}else if(empty($data['apple'])&&empty($data['orange'])&&!empty($data['mango'])){
// mango has value larger than 0
}
谢谢,有人请指教我.
解决方法:
$fruit = key(array_filter($data));
$fruit将包含大于零的数字.
如果多个键的值大于零,请使用array_keys代替key
$fruit = array_keys(array_filter($data));
标签:php
来源: https://codeday.me/bug/20191026/1937232.html