前提
整数の配列をループして、各値に固定値を足し算する関数があります。
固定値は関数の呼び出し側から渡されます。
ソースコード
php
1function addition($val, $aug) { 2 return $val + $aug; 3}; 4 5function get_result($aug) 6{ 7 $array = [100, 200]; 8 9 $result = array_map(function($val) { 10 global $aug; // undefined 11 addition($val, $aug); 12 } , $array); 13};
問題点
$aug
がグローバル変数ではないため、array_map
のコールバック関数内での$aug
がundefinedになるのではないかなと思うのですが、globalが無いと、array_map
の中の$aug
が見つからない、とエディタがエラーを示します。
実現したいこと
関数get_result
の引数の$aug
を、array_map
のコールバック関数の中で参照し、関数addition
に渡したいです。
調べたこと
「php スコープ 外 変数 取得」等で検索したものの、グローバル変数を取得する方法しか見つけられませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/01 09:00