Maison >développement back-end >tutoriel php >Pourquoi PHP fait-il écho à « 2 » lors de l'ajout et de la concaténation d'entiers ?

Pourquoi PHP fait-il écho à « 2 » lors de l'ajout et de la concaténation d'entiers ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-29 23:45:29404parcourir

Why Does PHP Echo

Le comportement intrigant de PHP : démêler le dilemme de la somme et de la concaténation

Dans le domaine de la programmation PHP, la discussion récente concernant le comportement déroutant lors de l'ajout " somme : 3". Cependant, étonnamment, le premier écho affiche « 2 », laissant les développeurs perplexes. Pourquoi cela se produit-il ?

La clé réside dans la priorité et l’associativité des opérateurs en PHP. Les opérateurs d’addition ( ) et de concaténation (.) partagent le même niveau de priorité, ce qui les rend associatifs. L'ordre dans lequel ces opérateurs sont évalués devient crucial :

<code class="php">$a = 1;
$b = 2;

echo "sum: " .  $a + $b;
echo "sum: " . ($a + $b);</code>

Dans le premier écho, la concaténation est effectuée en premier, ce qui donne "somme : 1".

Cette chaîne est ensuite convertie en un entier en raison du contexte numérique, convertissant efficacement l'addition en 0 2, donnant "2".

  1. Cependant, dans le deuxième écho, les parenthèses garantissent que l'addition se produit avant la concaténation, donnant nous le résultat souhaité, "somme : 3."
  2. Ce comportement intrigant, bien que non explicitement documenté, peut être découvert grâce à l'expérimentation et à la compréhension des nuances subtiles de la priorité des opérateurs et de l'associativité en PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn