2 votes

Déclaration if correcte en PHP ?

J'écris beaucoup d'instructions if comme celle-ci pour vérifier si une variable est vide, notamment à partir de mysql, mais existe-t-il une syntaxe meilleure/alternative ?

if($a!=""){

7voto

Fabio Points 18947

Vous pouvez utiliser empty() fonction

if(!empty($a)) {

3voto

Peter Kiss Points 6592

Le plus rapide :

if ($a) { /* ... */ }

Le plus drôle :

if (isset($a[0])) { /* ... */ }

1voto

MKroeders Points 5504

La syntaxe est correcte.

Mais " " n'est pas vide, vous pouvez donc regarder trim() pour ça.

Je préfère la fonction strlen en combinaison avec trim

if (strlen(trim($a))

Si vous préférez être plus rapide, vous pouvez créer votre propre fonction

function is_empty($string) {
  return (strlen(trim($string)) === 0);
}

0voto

Orangepill Points 17802

Si vous ne faites qu'une seule ligne, vous pouvez utiliser un circuit court logique.

$a && print ("Goodbye"); // same as $a != ""

o

$a || print ("Hello World"); // same as $a == ""

Cela permet de tirer parti de la façon dont PHP (et la plupart des langages) optimise les opérateurs binaires.

Dans le premier cas, si $a donne une valeur vraie, l'interprète sait qu'il doit vérifier le côté droit de l'équation pour déterminer le résultat de l'expression.

Si c'est une fausse valeur, il n'évaluera pas le côté droit parce qu'il sait que cela n'a pas d'importance.

Une logique similaire s'applique à l'instruction ||

0voto

Macbric Points 84

Ou

!empty($a) ? (/* if not empty */) : (/* else */);

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