J'ai juste besoin de vérifier si un tableau a plus d'un élément. J'essaye de le faire de cette façon:
if (isset($arr['1']))
l'autre manière traditionnelle est
if (sizeof($arr)>1)
Lequel des deux est le meilleur? Dans de telles situations, comment juger entre deux méthodes alternatives? Existe-t-il un compteur de contrôle des performances disponible pour mesurer ce qui est le meilleur?
Réponses:
Utilisez ceci
Ou
sizeof()
est un alias pourcount()
, ils fonctionnent de la même manière.Edit: Répondre à la deuxième partie de la question: Les deux lignes de codes de la question ne sont pas des méthodes alternatives, elles remplissent des fonctions différentes. Le premier vérifie si la valeur à
$arr['1']
est définie, tandis que le second renvoie le nombre d'éléments dans le tableau.la source
if (sizeof($arr))
, qui s'est traduit enif (sizeof($arr) == 1)
- clairement cela ne vérifie pas si le tableau a plus d'un élément. Cette réponse est correcte et je ne vois aucune raison de voter contre, d’où mon vote favorable.if(is_array($arr) && count($arr) > 1)
Juste pour être sûr que $ arr est bien un tableau.
sizeof
est un alias decount
, je préfère utiliser count car:la source
$arr
est une chaîne, elle retournera1
.sizeof()
est un alias pourcount()
. Les deux fonctionnent également avec des non-tableaux, mais ils ne renverront que des valeurs supérieures à 1 si l'argument est un tableau ou unCountable
objet , vous êtes donc assez en sécurité avec cela.la source
De toute évidence, l'utilisation de
count($arr) > 1
(sizeof
n'est qu'un alias pourcount
) est la meilleure solution. Selon la structure de votre tableau, il peut y avoir des tonnes d'éléments mais pas d'$array['1']
élément.la source
Utilisation
count()
cette page l'explique assez bien http://phparraylength.com/
la source
Je préfère la
count()
fonction au lieu desizeOf()
commesizeOf()
étant seulement un alias decount()
et ne signifie pas la même chose dans de nombreuses autres langues. De nombreux programmeurs s'attendentsizeof()
à renvoyer la quantité de mémoire allouée.la source
sizeof
vscount
Pour vérifier un tableau, vide () est meilleur que sizeof ().
Si le tableau contient une énorme quantité de données. Il faudra plus de temps pour compter la taille du tableau. Mais vérifier à vide est toujours facile.
la source
isset () vérifie uniquement si une variable est définie .. N'a rien à voir avec la taille ou ce que le tableau contient
la source
Je suppose que $ arr est un tableau, alors c'est ce que vous recherchez
la source
La première méthode
if (isset($arr['1']))
ne fonctionnera pas sur un tableau associatif.Par exemple, le code suivant affiche «Non, pas plus d'un».
la source
Je fais mon tableau en boucle et je remplis les valeurs par défaut en conséquence dans Swift 4/5
la source