Page 1 sur 1

array suppression elements vides

Posté : 15 janv. 2008, 13:34
par Invité
Bonjour,

Quelle fonction utiliser pour supprimer toutes les clés d'un tableau dont les valeurs sont vides?

Posté : 15 janv. 2008, 14:44
par Elie
<?php

	$array = array(1, 2, '', 4, 5, 6, '', 7, 8, 9);

	foreach($array as $a => $v) {
	
		if($v == "") unset($array[$a]);
		
	}
	
	print_r($array);
	
?>

Posté : 15 janv. 2008, 15:08
par Ryle
Si ton tableau n'est pas associatif, tu peux également faire un array_diff() avec un second tableau contenant juste une chaine vide :)

Posté : 15 janv. 2008, 16:06
par Invité
merci pour vos réponses. Je suis pas un expert et j'ai du mal à visualiser la deuxième posibilité. est-il possible d'avoir un exemple?

Posté : 15 janv. 2008, 16:24
par Jules Petibidon
Hello,

Tiens un exemple de la méthode de Ryle :
<?php

$ar = array( 'a'=>'toto' , 'b'=>null , 'c' => 'coincoin' , 'd'=>null );

$ar = array_diff( $ar , array( null ) );

print_r( $ar );

?>
Bon courage :)

Posté : 15 janv. 2008, 16:24
par Ryle
Celui donné dans la documentation de la fonction me semble pas mal nan ? Suffit de remplacer $array2 par un tableau contenant juste une valeur vide (array('')) pour l'adapter à ton cas et ça devrait te donner une bonne idée de la chose :)

Edit : Aïta ! Grillé :(