Maison > développement back-end > Problème PHP > Le tableau PHP passe-t-il par référence ?

Le tableau PHP passe-t-il par référence ?

WBOY
Libérer: 2023-03-16 20:28:01
original
1430 Les gens l'ont consulté

Le transfert de tableau PHP ne s'effectue pas par référence, mais par valeur ; lors de l'appel d'une fonction, l'attribution du tableau PHP comme paramètre réel au paramètre formel et sa modification dans la fonction n'affecteront pas le tableau lui-même, indiquant que le transfert dans ce le processus passe par valeur, les variables du tableau ne sont pas des références au tableau lui-même.

Le tableau PHP passe-t-il par référence ?

L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3

Le tableau passe-t-il en PHP par référence et valeur ?

Le passage de tableau en PHP se fait par valeur et non par référence.

Lors de l'appel d'une fonction, attribuez le tableau PHP comme paramètre réel au paramètre formel, et sa modification dans la fonction n'affectera pas le tableau lui-même.

Expliquez que le transfert dans ce processus se fait par valeur. La variable tableau n'est pas une référence au tableau lui-même. Le tableau PHP lui-même existe sous la forme d'une valeur et le paramètre formel est une copie du tableau.

C'est très différent de certains autres langages (comme le c, le Js, etc.), donc ça vaut la peine de le noter !

L'exemple est le suivant :

$arr = array(
    'name' => 'corn',
    'age' => '24',
);
test_arr($arr);
function test_arr($arr){
    $arr['name'] = 'qqyumidi';
}
print_r($arr); //result: Array ( [name] => corn [age] => 24 )
Copier après la connexion

Le code js est le suivant :

var arr = new Array('corn', '24');
test_arr(arr);
function test_arr(arr){
    arr[0] = 'qqyumidi';
}
console.log(arr);  //result:["qqyumidi", "24"]
Copier après la connexion

Si vous devez utiliser l'effet de transfert de référence pour le transfert de valeur en PHP, vous pouvez ajouter le caractère d'adresse & devant le paramètre formel .

$aa = 100;
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
print_r($aa);   //result: 200
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo 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!

Étiquettes associées:
php
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