Si vous essayez de lire la valeur d'une variable «Obtenir», que se passe-t-il si ladite variable n'avait pas été définie dans l'URL. Exemple: Vous demandez la page Cela signifie-t-il que si j'attends toujours une valeur à entrer et que je ne suis pas disposé à accepter une valeur "'que je peux juste Faites quelque chose comme p> Veuillez garder à l'esprit que je pouvais utiliser test.php code>, dans ce fichier, il essaie de lire la valeur de
$ _ obtenir ['message'] code>. Que se passe-t-il dans ce cas? dose la valeur juste être retournée comme
'' code>?
isset ($ _ obtenir ['bar']) code> mais je ne sais pas Je veux juste savoir s'il est défini, je m'en fiche si c'est ou non, je me soucie juste de la valeur qui est plus qu'une simple chaîne vide. p> p>
4 Réponses :
Si je comprends bien, c'est:
$foo = $_GET['bar']; if ((!isset($foo)) || $foo == '') { //GET veriable not set, error } else { // GET veriable set, code here. }
Mais dans ce code, je devrai encore vérifier si $ foo == '' code> Je veux essayer de le faire simplement en une fois.
Si vous essayez d'accéder à un élément de tableau qui n'existe pas, le résultat sera null code>.
$foo = isset($_GET['bar']) ? $_GET['bar'] : 'default value';
Si vous ne vous inquiétez pas si la valeur est réellement définie, vous pouvez utiliser ceci:
if (empty($_GET['bar'])) // value is null, false, 0, '0' or an empty string (including whitespace).
Je crois que c'est la solution parfaite à mes besoins. Cela ne générera donc pas une erreur si $ _ obtenir ['bar'] code> n'était même pas défini en premier lieu.
Je pense qu'il est important de souligner que cela considérerait la chaîne '0' code> pour être vide. Si vous utilisez cela comme ID pour les pages pour charger cela pourrait vous causer des problèmes. Je crois bien que la plupart des bases de données démarrent des numéros automatiques pour une colonne d'identité à 1
oui, ajouté que à la réponse.
Voici comment je le fais.
$foo = ( isset( $_GET['bar'] ) ) ? $_GET['bar'] : false; if(false === $foo){ die( 'no Foo for your Bar' ); }
oooh, qu'est-ce que j'ai fait à mes tags: P J'ai essayé d'écrire "$ _get"