Par exemple, puis-je faire:
if ($my_array = wp_get_category($id)) {
echo "asdf";
} else {
echo "1234";
}
Si rien n'est retourné par la fonction, je veux entrer dans l'instruction else.
Oui, cela fonctionnera et le motif est utilisé assez souvent.
Si $my_array
se voit attribuer une valeur véridique , alors la condition sera remplie.
CodePad .
<?php
function wp_get_category($id) {
return 'I am truthy!';
}
if ($my_array = wp_get_category($id)) {
echo $my_array;
} else {
echo "1234";
}
L'inverse est également vrai ...
Si rien n'est retourné par la fonction, je veux entrer dans l'instruction else.
Une fonction qui ne renvoie rien renverra NULL
, qui est falsey .
CodePad .
<?php
function wp_get_category($id) {
}
if ($my_array = wp_get_category($id)) {
echo $my_array;
} else {
echo "1234";
}
vous voudrez peut-être quelque chose comme ça:
if (!is_null($my_array = wp_get_category($id)) {
echo "asdf";
else
echo "1234";
En supposant que la fonction renvoie null en cas d'échec. Vous devrez peut-être l'ajuster un peu.
Il s'agit en fait d'un schéma courant qui fonctionnera. Cependant, vous voudrez peut-être réfléchir à deux fois avant de l'utiliser pour des cas plus complexes, ou pas du tout. Imaginez si quelqu'un qui maintient votre code arrive et voit
if ($x = one() || $y = two() && $z = three() or four()) {
}
Il peut être préférable de déclarer les variables avant de les utiliser au conditionnel.
J'ai trouvé cette interrogation sur les règles de déclaration d'une variable, puis de son utilisation immédiate dans des conditions ultérieures dans la même instruction.
Merci à la réponse précédente pour le lien du codepad, j'ai fait le mien pour tester la théorie. Alerte spoiler: ça marche.