#このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューターphp 配列は値によって渡されます。 PHP 配列の転送は値の転送です。関数を呼び出すときに、PHP 配列を実パラメータとして仮パラメータに代入し、関数内で変更しても配列自体には影響しません。これは、このプロセスでの転送が値の転送であることを示し、配列変数は、この配列自体への参照を指していません。
php 配列が渡されます値渡し
#PHP で渡される配列は、参照ではなく値によって渡されます。
関数を呼び出すときは、PHP 配列を実パラメータとして仮パラメータに割り当てます。関数内でそれを変更しても、配列自体には影響しません。 このプロセスでの転送は値によるものであることを説明してください。配列変数は配列自体への参照ではありません。PHP 配列自体は値の形式で存在し、仮パラメータは配列。 これは他の言語 (C、Js など) とは大きく異なるため、注目に値します。 例は次のとおりです。<?php header("Content-type:text/html;charset=utf-8"); $arr = array( 'name' => 'corn', 'age' => '24', ); var_dump($arr); test_arr($arr); function test_arr($arr){ $arr['name'] = 'qqyumidi'; } var_dump($arr); ?>値が再割り当てされても、元の配列自体には影響しないことがわかります。 js コードは次のとおりです。
var arr = new Array('corn', '24'); test_arr(arr); function test_arr(arr){ arr[0] = 'qqyumidi'; } console.log(arr); //result:["qqyumidi", "24"]PHP で値の転送に参照転送エフェクトを使用する必要がある場合は、アドレス文字
& を仮パラメータの前に置きます。
<?php header("Content-type:text/html;charset=utf-8"); $aa = 100; echo "原变量值:".$aa; test_vars($aa); function test_vars(&$aa){ $aa = 200; } echo "<br>修好后:".$aa; //result: 200 ?>
注:
PHP では、文字列、整数、浮動小数点、配列などのほとんどの変数型は、すべて値型ですが、クラスとオブジェクトは参照型であるため、使用する場合はこの点に注意する必要があります。 推奨学習: 「PHP ビデオ チュートリアル 」
以上がPHP配列は値または参照で渡されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。