質問編集履歴
3
見出し追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
-
|
1
|
+
## 前提
|
2
2
|
|
3
|
+
整数の配列をループして、各値に固定値を足し算する関数があります。
|
3
|
-
|
4
|
+
固定値は関数の呼び出し側から渡されます。
|
5
|
+
|
6
|
+
## ソースコード
|
4
7
|
|
5
8
|
```php
|
6
9
|
function addition($val, $aug) {
|
@@ -18,8 +21,14 @@
|
|
18
21
|
};
|
19
22
|
```
|
20
23
|
|
21
|
-
|
24
|
+
## 問題点
|
22
25
|
|
26
|
+
```$aug```がグローバル変数ではないため、```array_map```のコールバック関数内での```$aug```がundefinedになるのではないかなと思うのですが、globalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
|
27
|
+
|
28
|
+
## 実現したいこと
|
29
|
+
|
23
|
-
関数
|
30
|
+
関数```get_result```の引数の```$aug```を、```array_map```のコールバック関数の中で参照し、関数```addition```に渡したいです。
|
31
|
+
|
32
|
+
## 調べたこと
|
24
33
|
|
25
34
|
「php スコープ 外 変数 取得」等で検索したものの、グローバル変数を取得する方法しか見つけられませんでした。
|
2
関数名
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
```$aug```を受け取る関数の中で
|
1
|
+
```$aug```を受け取る関数```get_result```の中で実行する```array_map```のコールバック関数に```$aug```を渡したいのですが、変数を参照できずにいます。
|
2
2
|
|
3
3
|
コードは下記のようになっています。
|
4
4
|
|
5
5
|
```php
|
6
|
-
function
|
6
|
+
function addition($val, $aug) {
|
7
7
|
return $val + $aug;
|
8
8
|
};
|
9
9
|
|
10
|
-
function get_
|
10
|
+
function get_result($aug)
|
11
11
|
{
|
12
12
|
$array = [100, 200];
|
13
13
|
|
14
14
|
$result = array_map(function($val) {
|
15
15
|
global $aug; // undefined
|
16
|
-
|
16
|
+
addition($val, $aug);
|
17
17
|
} , $array);
|
18
18
|
};
|
19
19
|
```
|
1
本文
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,6 +18,8 @@
|
|
18
18
|
};
|
19
19
|
```
|
20
20
|
|
21
|
-
```$aug```がグローバル変数ではないため、undefinedになるのではないかなと思うのですが、
|
21
|
+
```$aug```がグローバル変数ではないため、undefinedになるのではないかなと思うのですが、globalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
|
22
22
|
|
23
23
|
関数が受け取る引数を、```array_map```のコールバック関数の第二引数として渡す方法をご教示いただけないでしょうか。
|
24
|
+
|
25
|
+
「php スコープ 外 変数 取得」等で検索したものの、グローバル変数を取得する方法しか見つけられませんでした。
|