получить первое ненулевое значение из массива php

Если у меня есть массив:

Array ( [0] => [1] => a [2] => b [3] => c ) 

И я хочу получить первое ненулевое значение из массива, в данном случае «a». Как я мог делать это хорошо и легко?

Не уверен насчет приятного и легкого. Но короткий подход может заключаться в следующем:

  $first = current(array_filter($sparse_array)); 

Где array_filter будет извлекать вам « правдивые » значения, таким образом пропуская пустые и ложные записи. Хотя current просто дает вам первую из оставшихся записей.

 function get_first_not_null($array){ foreach($array as $v){ if($v !== null){ return $v; } } return null; } 
 function getFirstNotNull($array) { foreach($array as $val) { if(!is_null($val) || !$val) return $val; } } 
 $res = null; foreach ($arr as $v) { if ($v !== null) { $res = $v; break; } } 

Ну, вы могли бы попробовать это:

 foreach($array as $x) { if( $x) break; } if( $x) { // $x is the first non-null value } else { // There were no non-null values } 

Я бы использовал array_reduce

 $firstNonNull = array_reduce($array, function($v, $w) { return $v ? $v : (isset($w) ? $w : FALSE); });