Voor het verwijderen van lege values uit een array gebruik ik de volgende functie:

function cleanArray($array) {
foreach ($array as $index => $value)
{
if (empty($value)) unset($array[$index]);
}
return $array;
}


Mijn vraag is of dit ook sneller/geoptimaliseerd kan ?
Zijn er bv standaard php functies die dit kunnen ?
Misschien dat het help wanneer je de array by reference meegeeft:
<?php
function clean_array(&$array) {
foreach($array as $key => $value) {
if(empty($value)) unset($array[$key]);
}
}

$x = array('a', '', 'b', '0');

clean_array($x);

var_dump($x); // geeft a, b
?>

Op deze manier maakt hij geen kopie van de array. Maar als je jouw methode gebruikt, en de return-waarde in dezelfde variabele stopt als waar $array vandaan kwam, zie je dat het net zo zuinig is als mijn methode.

Reageren