Comme @Till Theis dit, array_filter est certainement le chemin à parcourir. Vous pouvez l'utiliser directement, comme ceci:
$_SESSION['items'] = array_filter($_POST['items']);
Ce qui vous donnera tous les éléments du tableau qui ne pas résultat false. C'EST À DIRE. vous filtrerez à la fois NULL, 0, faux, etc.
Vous pouvez également transmettre une fonction de rappel pour créer un filtrage personnalisé, comme ceci:
abstract class Util {
public static function filterNull ($value) {
return isset($value);
}
}
$_SESSION['items'] = array_filter($_POST['items'], array('Util', 'filterNull'));
Ceci appellera la filterNull méthode de la classe Util Pour chaque élément du tableau d'éléments, et s'ils sont définis (voir language construct isset()), ils sont conservés dans le tableau résultant.
cela a fonctionné sans l'isset. Certaines fonctions PHP rendent la vie si facile. Merci mon pote! – payling
À droite, j'ai oublié la conversion automatique et sur le fait que les valeurs de formulaire vides ne sont pas NULL mais des chaînes vides. –