私はこのようなコードを見てきました:スコープのPHP use()関数?
function($cfg) use ($connections) {}
をしかしphp.netは、その機能に言及していないようです。私はそれがスコープに関連していると思いますが、どうですか?
私はこのようなコードを見てきました:スコープのPHP use()関数?
function($cfg) use ($connections) {}
をしかしphp.netは、その機能に言及していないようです。私はそれがスコープに関連していると思いますが、どうですか?
use
は機能ではなく、Closure syntaxの一部です。これは単に、外側のスコープの指定された変数をクロージャ内で使用できるようにします。例えば
$foo = 42;
$bar = function() {
// can't access $foo in here
echo $foo; // undefined variable
};
$baz = function() use ($foo) {
// $foo is made available in here by use()
echo $foo; // 42
}
:$ connections`は `null`なのでではないでしょう`ことに留意すべきである
$array = array('foo', 'bar', 'baz');
$prefix = uniqid();
$array = array_map(function ($elem) use ($prefix) {
return $prefix . $elem;
}, $array);
// $array = array('4b3403665fea6foo', '4b3403665fea6bar', '4b3403665fea6baz');
。無名関数のスコープに 'use($ connections)'で明示的にインポートされていなければ、未定義の変数になります。 –
@IanGustafsonありがとう、私は答えを更新します。 – alex