Lege values uit array sneller ?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Auke

Auke

20/11/2008 08:36:00
Quote Anchor link
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 ?
 
PHP hulp

PHP hulp

11/05/2024 11:53:11
 
Jelmer -

Jelmer -

20/11/2008 09:36:00
Quote Anchor link
Misschien dat het help wanneer je de array by reference meegeeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.