Test IF
Posté : 19 mars 2010, 19:07
Pour une fonction qui renvoie un tableau ou false.
Si je veux la tester avec un if.
Exemple:
Est-ce un soucis ou est-il encore plus propre de faire ceci?
A la différence d'un or quelquechose qui ne vérifie que si la variable ne renvoie pas false...
exemple:
Si je veux la tester avec un if.
Exemple:
<?php
$var = array('a', 'b');
$var2 = array(); // tableau vide
$var3 = false;
echo ($var) ? 'Oui' : 'Non'; // retourne Oui
var_dump($var); // Retourne: array('a', 'b')
echo ($var2) ? 'Oui' : 'Non'; // retourne Non - > (false)
var_dump($var2); // Retourne: array()
echo ($var3) ? 'Oui' : 'Non'; // retourne Non - > (false)
var_dump($var3); // Retourne: false
?>
Le soucis ici c'est que $var ne renvoie jamais true alors que je fais un test boolean.Est-ce un soucis ou est-il encore plus propre de faire ceci?
<?php
$var = array('a', 'b');
$var2 = array(); // tableau vide
$var3 = false;
echo ((bool)$var) ? 'Oui' : 'Non';
echo ((bool)$var2) ? 'Oui' : 'Non';
echo ((bool)$var3) ? 'Oui' : 'Non';
?>
Concrètement, le if($var), permettrait non seulement de s'assurer que $var ne renvoie pas false mais aussi qu'il contient bien un tableau et aussi qu'il n'est pas vide.A la différence d'un or quelquechose qui ne vérifie que si la variable ne renvoie pas false...
exemple:
<?php
$resultat = mysql_fetch_assoc($query);
if ((bool)$resultat) {
echo $resultat[0];
}
?>
Ce n'est peut -être pas le bon exemple, on pourrait répondre que la fonction mysql_fetch_assoc() n'est pas censée retourner un tableau vide, mais admettons que oui...