Comportement étrange de l'opérateur ternaire et de la concaténation de chaînes ?
P粉919464207
P粉919464207 2023-10-21 22:52:32
0
2
509

Bonjour, je me demande simplement pourquoi ce code produit (du moins pour moi) des résultats incorrects.

D'accord, c'est peut-être de ma faute

$description = 'Paper: ' . ($paperType == 'bond') ? 'Bond' : 'Other';

Je suppose que si paperType est égal à « Bond », la description est « Paper : Bond », si paperType n'est pas égal à « Bond », la description est « Paper : Other ».

Mais lorsque j'exécute ce code, le résultat est que la description est "Bond" ou "Autre" et me laisse Vous vous demandez où est passée la chaîne « Papier : » ? ? ?

P粉919464207
P粉919464207

répondre à tous(2)
P粉204079743

Lié à la priorité des opérateurs. Vous devez faire ce qui suit :

$description = 'Paper: ' . (($paperType == 'bond') ? 'Bond' : 'Other');
P粉448130258
$description = 'Paper: ' . ($paperType == 'bond' ? 'Bond' : 'Other');

Essayez d'ajouter des parenthèses afin de pouvoir concaténer une chaîne à une autre chaîne dans le bon ordre.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal