Maison  >  Questions et réponses  >  le corps du texte

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

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粉919464207P粉919464207337 Il y a quelques jours437

répondre à tous(2)je répondrai

  • P粉204079743

    P粉2040797432023-10-22 22:16:47

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

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

    répondre
    0
  • P粉448130258

    P粉4481302582023-10-22 09:37:19

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

    répondre
    0
  • Annulerrépondre