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。 ?>
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!"; ?>
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 的引用,因此也被改变 ?>
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 ; ?>
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!