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);
Sortie (passée par Valeur :
array 0 => int 10 1 => int 20
Sortie (passée par référence) :
array 0 => int 10 1 => int 20 2 => int 30
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!