recherche
Questions et réponses Comportement étrange de l'opérateur ternaire et de la concaténation de chaînes ?

0

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 : » ? ? ?

Your Answer
soumettre

2 réponse
0

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

$description = 'Paper: ' . (($paperType == 'bond') ? 'Bond' : 'Other');
2023-10-22 22:16:47

soumettre

0
$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.

2023-10-22 09:37:19

soumettre

Hot Tools

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Téléchargez la collection de bibliothèques d'exécution requises pour l'installation de phpStudy

VC9 32 bits

VC9 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC9 32 bits phpstudy

Version complète de la boîte à outils du programmeur PHP

Version complète de la boîte à outils du programmeur PHP

Programmer Toolbox v1.0 Environnement intégré PHP

VC11 32 bits

VC11 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC11 phpstudy 32 bits

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser