J'ai juste besoin de vérifier si un tableau a plus d'un élément. J'essaie de le faire de cette façon:
if (isset($arr['1']))
l'autre façon traditionnelle est
if (sizeof($arr)>1)
Lequel des deux est le meilleur? Dans de telles situations, comment devrais-je juger entre deux méthodes alternatives? Existe-t-il un indicateur de performance permettant de déterminer lequel est le meilleur?
Utilisez ceci
if (sizeof($arr) > 1) {
....
}
Ou
if (count($arr) > 1) {
....
}
sizeof()
est un alias pour count()
, ils fonctionnent de la même manière.
Edit: Réponse à 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 sur $arr['1']
est défini, tandis que le second renvoie le nombre d'éléments dans le tableau.
if(is_array($arr) && count($arr) > 1)
Juste pour être sûr que $ arr est bien un tableau.
sizeof
est un alias de count
, je préfère utiliser count car:
if (count($arr) >= 2)
{
// array has at least 2 elements
}
sizeof()
est un alias pour count()
. Les deux fonctionnent aussi avec des non-tableaux, mais ils ne renverront que des valeurs supérieures à 1 si l'argument est un tableau ou un objet Countable
, vous êtes donc assez sûr avec cela.
Évidemment, utiliser count($arr) > 1
(sizeof
n'est qu'un alias pour count
) est la meilleure solution. Selon la structure de votre tableau, il peut y avoir des tonnes d'éléments mais pas d'élément $array['1']
.
Je préfère la fonction count()
au lieu de sizeOf()
, car sizeOf()
n'est qu'un alias de count()
et ne signifie pas la même chose dans de nombreuses autres langues. De nombreux programmeurs s'attendent à ce que sizeof()
renvoie la quantité de mémoire allouée.
Utiliser count()
if (count($my_array) > 1) {
// do
}
cette page l'explique assez bien http://phparraylength.com/
Pour vérifier un tableau vide () est mieux 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.
//for empty
if(!empty($array))
echo 'Data exist';
else
echo 'No data';
//for sizeof
if(sizeof($array)>1)
echo 'Data exist';
else
echo 'No data';
isset () vérifie uniquement si une variable est définie .. N'a rien à voir avec la taille ou ce que le tableau contient
Je suppose que $ arr est un tableau alors c’est ce que vous recherchez
if ( sizeof($arr) > 1) ...
La première méthode if (isset($arr['1']))
ne fonctionnera pas sur un tableau associatif.
Par exemple, le code suivant affiche "Nope, pas plus d'un."
$arr = array(
'a' => 'Apple',
'b' => 'banana',
);
if (isset($arr['1'])) {
echo "Yup, more than one.";
} else {
echo "Nope, not more than one.";
}
Je boucle mon tableau et je remplis mes valeurs par défaut conformément à Swift 4/5
for index in 0..<3
{
let isIndexValid = allObjects.indices.contains(index)
var yourObject:Class = Class()
if isIndexValid { yourObject = allObjects[index]}
resultArray.append(yourObject)
}