从数组php获取第一个非null值

Dre*_*ett 19 php arrays

如果我有一个数组:

Array
(
    [0] => 
    [1] => a
    [2] => b
    [3] => c
)
Run Code Online (Sandbox Code Playgroud)

我想从数组中获取第一个非null值,在本例中为"a".我怎么能这么好又轻松呢?

mar*_*rio 39

不确定好不容易.但简短的方法可能是:

 $first = current(array_filter($sparse_array));
Run Code Online (Sandbox Code Playgroud)

在哪里array_filter将提取" truthy "值,从而跳过空和假条目.虽然current只是给你第一个剩余的条目.

  • 不幸的是,"truthy"还过滤掉空字符串,布尔值和数字零...否则,如果OP想要那个逻辑,那么这是最好的解决方案 (3认同)

Mar*_*mro 5

function get_first_not_null($array){
  foreach($array as $v){
    if($v !== null){
        return $v;
    }
  }
  return null;
}
Run Code Online (Sandbox Code Playgroud)