Explication détaillée des opérateurs d'affectation en php

怪我咯
Libérer: 2023-03-10 21:26:01
original
2232 Les gens l'ont consulté

PHP Opérateur d'affectation L'opérateur d'affectation PHP est utilisé pour écrire des valeurs dans des variables. L'opérateur d'affectation de base en PHP est "=". Cela signifie que l'affectation de droite expression définit la valeur de l'opérande de gauche.

La valeur de l'expression d'opération de valeur est la valeur attribuée. Autrement dit, la valeur de « $a = 3 » est 3. De cette façon, vous pouvez faire quelques astuces :

<?php

$a  = ( $b  =  4 ) +  5 ;  // $a 现在成了 9,而 $b 成了 4。

?>
Copier après la connexion

Pour les tableaux, l'opérateur "=>" est utilisé pour attribuer des valeurs aux clés nommées. L'opérateur a la même priorité que les autres opérateurs d'affectation.

En plus des opérateurs d'affectation de base, il existe des « opérateurs de combinaison » adaptés à toute l'arithmétique binaire, aux collections de tableaux et aux opérateurs de chaîne, qui peuvent être utilisés dans une expression. Utilisez sa valeur et attribuez-lui le résultat de l'expression, par exemple :

<?php

$a  =  3 ;
$a  +=  5 ;  // sets $a to 8, as if we had said: $a = $a + 5;
$b  =  "Hello " ;
$b  .=  "There!" ;  // sets $b to "Hello There!", just like $b = $b . "There!";

?>
Copier après la connexion

Notez que l'opération d'affectation copie la valeur de la variable d'origine dans la nouvelle variable (affectation par valeur), donc changer l'une d'entre elles n'a pas d'effet influencer un autre. Ceci convient également pour copier certaines valeurs telles que de grands tableaux dans des boucles denses.

Une exception au comportement normal d'affectation de passe par valeur en PHP est que lorsqu'un objet est rencontré, il est attribué par référence dans PHP 5, à moins que le mot-clé clone ne soit explicitement utilisé pour copier.

Affectation de référence

PHP prend en charge l'affectation de référence, en utilisant la syntaxe "$var = &$othervar;". L'affectation par référence signifie que les deux variables pointent vers les mêmes données, rien n'est copié.

Exemple n°1 Assignation de référence

<?php
$a  =  3 ;
$b  = & $a ;  // $b 是 $a 的引用

print  " $a \n" ;  // 输出 3
print  " $b \n" ;  // 输出 3

$a  =  4 ;  // 修改 $a

print  " $a \n" ;  // 输出 4
print  " $b \n" ;  // 也输出 4,因为 $b 是 $a 的引用,因此也被改变
?>
Copier après la connexion

Depuis PHP 5, l'opérateur new renvoie automatiquement une référence, donc l'affectation de référence du résultat de new ne fonctionnera pas dans PHP 5.3 et versions ultérieures. Émet un message d'erreur E_DEPRECATED message d'erreur, alors que les versions précédentes émettaient un message d'erreur E_STRICT.

Par exemple, le code suivant générera un avertissement :

<?php
class  C  {}
$o  = &new  C ;
?>
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal