ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数内で外部変数にアクセスして変更するにはどうすればよいですか?
関数内の外部変数にアクセスする
PHP では、関数内の変数にはグローバル スコープとは別に独自のスコープがあります。ただし、特定の手法を使用して関数に外部変数へのアクセスを許可することは可能です。
グローバル変数の使用
最も簡単な方法は、関数内で外部変数をグローバルとして宣言することです。グローバルキーワードを使用します。これにより、関数はその変数に直接アクセスできるようになります。
function someFunction() { global $myArr; $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; }
グローバル変数を使用するデメリット:
グローバル キーワードを使用すると簡単にアクセスできますが、グローバルな結合が発生します。関数を外部変数に依存させる。これにより、コードの保守とテストが難しくなる可能性があります。
代替アプローチ:
グローバル変数を使用せずに関数で外部変数を変更できるようにするためのより良い方法があります。
返される結果:
関数は次のことができます外部変数の操作の結果を新しい変数として返します。
function someFunction() { $myArr = array(); // At first, you have an empty array $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array return $myArr; }
参照によるパラメータの受け渡し:
別の手法は、外部変数を次のように渡すことです。 & 記号を使用した参照によるパラメータ。これにより、関数が元の変数を直接変更できるようになります。
function someFunction(array &$myArr) { $myVal = //some processing here to determine value of $myVal $myArr[] = $myVal; // Put that $myVal into the array }
代替アプローチの利点:
これらの代替アプローチでは、関数が外部コンテキストから独立して動作することが保証されます。により、テストと再利用が容易になります。
追加リソース:
詳細については、PHP マニュアルのセクションを参照してください:
以上がPHP 関数内で外部変数にアクセスして変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。