第6章 ユーザー定義関数 / 第2回 模擬試験
PHPのクロージャ(無名関数)に関する次の記述のうち、正しいものはどれか。
クロージャは`use`キーワードで外部変数を取り込むことができる。
正解
クロージャは変数に代入することができない。
クロージャは常にグローバル変数へ自動的にアクセスできる。
アロー関数(`fn`)は複数の文を含むブロックを記述できる。
解説
無名関数は`use ($var)`で外部スコープの変数を取り込めます。アロー関数は単一の式のみで、自動的に親スコープの変数をキャプチャします。(参照: 独習PHP 第4版 第6章 ユーザー定義関数 6.4.4〜6.4.5節 無名関数/use命令 p.294〜298)
関連する問題
- PHPの関数引数に関する次の記述のうち、誤っているものはどれか。
- 関数に関する次の記述のうち誤っているものはどれか。
- PHPの匿名関数とアロー関数に関する次の記述のうち、正しいものはどれか。
- 次のコードの実行結果として正しいものはどれか。 ```php $val = 'a'; $val = 'b'; print ('【A】' . $val); function func($val = 'c') { $val = 'd'; print ('【B】' . $val); global $val; print ('【C】' . $val); $val = 'e'; print ('【D】' . $val); $val = 'f'; } $val = 'g'; func($val); print ('【E】' . $val); ```
- PHPの変数のスコープに関する次の記述のうち、正しいものはどれか。