Conversion d'un paramètre GET en booléen avec PHP
Publié le 01/09/2023 • Actualisé le 01/09/2023
Dans ce bout de code, nous voyons comment convertir un paramètre GET en booléen avec PHP. Parfois, quand on doit convertir un filtre GET d'un point d'accès d'API, on doit transformer ce paramètre en une variable de type booléen : true
ou false
. On pourrait utiliser un cast, mais ça peut avoir des résultats inattendus. Par exemple, (bool) "false"
, retourne true
, et pas false
. Pour corriger ce problème, on peut utiliser la fonction filter_var
avec le drapeau FILTER_VALIDATE_BOOLEAN
.
<?php
declare(strict_types=1);
// src/Controller/Snippet/Snippet268Trait.php
namespace App\Controller\Snippet;
use Symfony\Component\HttpFoundation\Request;
/**
* J'utilise un trait PHP afin d'isoler chaque snippet dans un fichier.
* Ce code doit être apellé d'un contrôleur Symfony étendant AbstractController (depuis Symfony 4.2)
* ou Symfony\Bundle\FrameworkBundle\Controller\Controller (Symfony <= 4.1).
* Les services sont injectés dans le constructeur du contrôleur principal.
*/
trait Snippet268Trait
{
public function snippet268(Request $request): void
{
$values = [
// true
'on',
'true',
'1',
'yes',
1,
true,
// false
'off',
'false',
'0',
'no',
'foo',
[],
0,
false,
null,
];
foreach ($values as $value) {
var_dump($value);
var_dump(filter_var($value, FILTER_VALIDATE_BOOL));
echo PHP_EOL;
}
// That's it! 😁
}
}
Exécuter le snippet Plus sur Stackoverflow Lire la doc Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉