Maison > développement back-end > tutoriel php > Tableaux PHP : passage par valeur ou passage par référence ?

Tableaux PHP : passage par valeur ou passage par référence ?

Linda Hamilton
Libérer: 2024-12-08 21:16:10
original
829 Les gens l'ont consulté

PHP Arrays: Pass by Value or Pass by Reference?

Gestion des tableaux en PHP : transmission par valeur ou référence

Lorsque vous travaillez avec des tableaux en PHP, comprendre comment ils sont gérés lorsqu'ils sont attribués à de nouveaux variables ou transmises aux fonctions est crucial.

Array Affectations

Lors de l'affectation d'un tableau à une variable (par exemple, $b = $a), PHP effectue toujours une copie de valeur. Cela signifie que les modifications apportées à la nouvelle variable ($b) n'affecteront pas le tableau d'origine ($a), et vice versa. Si vous devez créer une référence au tableau d'origine, vous devez utiliser l'opérateur de référence ($b =& $a).

Passer des tableaux aux fonctions

Quand un tableau est passé en argument à une fonction, il est généralement copié par valeur. Cela signifie que les modifications apportées au sein de la fonction ne modifieront pas le tableau d'origine. Pour passer un tableau par référence, la fonction doit être déclarée avec le symbole & avant le paramètre (par exemple, function my_func(& $a)).

Exemple de code

Pour illustrer cela, considérons le code PHP suivant :

function my_func($a) {
    $a[] = 30;
}

$arr = array(10, 20);
my_func($arr);
var_dump($arr);
Copier après la connexion

Sortie (passée par Valeur :

array
  0 => int 10
  1 => int 20
Copier après la connexion

Sortie (passée par référence) :

array
  0 => int 10
  1 => int 20
  2 => int 30
Copier après la connexion

Comme démontré, les modifications apportées au sein de la fonction n'affectent le tableau que lorsque il est passé par référence.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal