Maison >développement back-end >Problème PHP >Le tableau PHP passe-t-il par référence ?
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.
L'environnement d'exploitation de cet article : système Windows 10, PHP version 8.1, ordinateur Dell G3
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 )
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"]
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
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!