удалить ключи с отсутствующими значениями в массиве

Klaus

SEO Cthulhu
удалить ключи с отсутствующими значениями в массиве

Удаляю ключи с отсутствующими значениями так
PHP:
function notnull($var) {
    return ($var != NULL);
}

$array = array("a"=>"", "b"=>2, "c"=>NULL, "d"=>"good", "e"=>5, 8, "", 10);
$array = array_filter($array, "notnull");
Можно ли сделать проще?

P.S. собсно все устраивает, просто как начинающий, опасаюсь преждевременного применения пользовательских функций
 

Фанат

oncle terrible
Команда форума
а просто в цикле написать
foreach($array as $key => $value) if ($value== NULL) unset($array[$key]);
 

Klaus

SEO Cthulhu
да да, я уже проверил,
но интересовала также возможность неиспользования пользовательской функции
 

Klaus

SEO Cthulhu
PHP:
include("timestat.php");

function notnull($var) {
    return ($var != NULL);
}

$array = array();
for($i=0; $i < 100000; $i++){
   if($i % 3 == 0){
      $array[$i] = NULL;
   }
   else {
      $array[$i] = "good".$i;
   } 
}
#array_filter($array, "notnull");
foreach($array as $key => $value) if ($value== NULL) unset($array[$key]);
timeprint();
массив 100.000 элементов:

RH 7.3
foreach -- 1.4081 сек
array_filter -- 1.3022 сек

XP
foreach -- 1.8673 сек
array_filter -- 2.2205 сек
 
Сверху