ホームページ  >  記事  >  バックエンド開発  >  PHPの配列は参照渡しなのでしょうか?

PHPの配列は参照渡しなのでしょうか?

WBOY
WBOYオリジナル
2022-09-20 17:02:361375ブラウズ

PHP 配列の転送は参照ではなく値によって行われます。関数を呼び出すときに、PHP 配列を実パラメータとして仮パラメータに代入し、関数内で変更しても配列自体には影響しません。これについて説明します。 process での転送は値によって行われ、配列変数は配列自体への参照ではありません。

PHPの配列は参照渡しなのでしょうか?

#この記事の動作環境: Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター

php 配列は参照渡しですか?

##PHP での配列の受け渡しは、参照ではなく値によって行われます。

関数を呼び出すときは、PHP 配列を実パラメータとして仮パラメータに割り当てます。関数内でそれを変更しても、配列自体には影響しません。

このプロセスでの転送は値によるものであることを説明してください。配列変数は配列自体への参照ではありません。PHP 配列自体は値の形式で存在し、仮パラメータは配列。

これは他の言語 (C、Js など) とは大きく異なるため、注目に値します。

例は次のとおりです:

$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 )

js コードは次のとおりです:

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

PHP での値の受け渡しに参照受け渡し効果を使用する必要がある場合は、仮パラメータの前にアドレス文字 & を追加できます。

$aa = 100;
test_vars($aa);
function test_vars(&$aa){
    $aa = 200;
}
print_r($aa);   //result: 200

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPの配列は参照渡しなのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。