12 votes

PHP - tableau vide

(array)$someemptyvariablethatisnotarray retours array([0] =>) au lieu de array()

Comment faire pour obtenir un tableau vide qui n'est pas itéré lorsque je l'utilise à l'intérieur de foreach() ?

25voto

trickwallett Points 1810
$var = array();

vide un tableau. Est-ce que c'est ce que vous cherchez ?

19voto

powtac Points 18619

La fonction que vous utilisez est appelée " casting ". Cela signifie qu'une variable est forcée de devenir un type donné, dans votre exemple un tableau. La façon dont la variable est convertie n'est pas toujours évidente en PHP !

Dans votre exemple, $someemptyvariablethatisnotarray devient un tableau avec une entrée ayant une valeur NULL.

En Documentation PHP dit :

T automatique en tableau est actuellement indéfini.

Pour résoudre votre code, je recommanderais quelque chose comme ceci :

if (!is_array($someemptyvariablethatisnotarray) {
    $someemptyvariablethatisnotarray = array();
}

4voto

sharpner Points 1454
if(!$variable){
        return array();
}

3voto

Brad Christie Points 58505
$somevar = empty($somevar) ? array() : (array)$somevar;

Peut-être ? Mais je ne suis pas sûr de comprendre le casting, ni l'objectif. Je ne suis pas sûr d'avoir bien compris le rôle des acteurs, ni le but recherché.

3voto

Dave-Evans Points 211

Essayer unset($someemptyvariablethatisnotarray[0]) :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X