Plusieurs langages de programmation ont une fonction coalesce (retourne la première valeur non nulle, exemple). PHP, malheureusement, ne le fait pas.
Ce qui serait une bonne façon de mettre en œuvre une en PHP ?
Plusieurs langages de programmation ont une fonction coalesce (retourne la première valeur non nulle, exemple). PHP, malheureusement, ne le fait pas.
Ce qui serait une bonne façon de mettre en œuvre une en PHP ?
Il est intéressant de noter que, en raison de PHP de traitement de uninitalised variables et indices de tableau, tout type de fusionner en fonction de l'utilisation limitée. J'aimerais être capable de faire cela:
$id = coalesce($_GET['id'], $_SESSION['id'], null);
Mais ce sera, dans la plupart des cas, la cause de PHP à l'erreur avec un E_NOTICE. La seule façon de tester l'existence d'une variable avant de l'utiliser est de l'utiliser directement dans le vide() ou la fonction isset(). L'opérateur ternaire proposé par Kevin est la meilleure option si vous savez que toutes les options de votre fusionnent sont connus pour être initialisés.
Assurez-vous que vous identifiez exactement comment vous voulez cette fonction fonctionne avec certains types. PHP dispose d’une grande variété de fonctions de vérification de type ou semblables, alors assurez-vous que vous savez comment ils fonctionnent. Il s’agit d’un exemple de comparaison de is_null() et empty()
Comme vous pouvez le voir, empty() retourne true pour tous ces, mais is_null() ne le fait que pour 2 d'entre eux.
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.