[RESOLU] remplacer switch par match

Eléphant du PHP | 345 Messages

06 déc. 2022, 21:24

Bonjour, je n'arrive pas à remplacer le switch par match
Mon hébergeur force vers php8, je dois faire quelques modifs.
Comment traduire le switch qui suit avec un match?
switch($vehicule) {
case '/vehicules/apied.gif' :
header('Location:blabla.php');
exit;
break;
}
J'en suis resté là, mais le header ne redirige pas.
 
echo match ($vehicule) {
'/vehicules/apied.gif' => "header('Location:blabla.php');",
};

Avatar du membre
Mammouth du PHP | 1564 Messages

07 déc. 2022, 00:59

switch est toujours disponible en PHP 8, pas de souci à te faire.

Sinon, enlève les guillemets double autour de ton "header()" pour pas le retourner en chaine de caractère mais en une exécution de code.

Ton echo n'a rien à faire devant ton match.

Eléphant du PHP | 345 Messages

07 déc. 2022, 02:12

Merci pour l'info, j'avais cru que le switch ne fonctionnerait plus .

Avatar du membre
Mammouth du PHP | 1564 Messages

07 déc. 2022, 10:28

La doc est ici : https://www.php.net/manual/fr/control-s ... switch.php
(PHP 4, PHP 5, PHP 7, PHP 8)