質問編集履歴

3

見出し追加

2022/06/01 08:52

投稿

erajera
erajera

スコア22

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,9 @@
1
- ```$aug```を受け取る関数```get_result```の中で実行する```array_map```のコールバック関数に```$aug```を渡したいのですが、変数を参照できずにいます。
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
- ```$aug```がグローバル変数ではないため、undefinedになるのではないかなと思うのですが、globalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
24
+ ## 問題点
22
25
 
26
+ ```$aug```がグローバル変数ではないため、```array_map```のコールバック関数内での```$aug```がundefinedになるのではないかなと思うのですが、globalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
27
+
28
+ ## 実現したいこと
29
+
23
- 関数が受け取る引数を、```array_map```のコールバック関数の第二引て渡す方法をご教示いだけないでしょうか
30
+ 関数```get_result```の引数の```$aug```を、```array_map```のコールバック関数の中で参照し、関```addition```に渡したいで
31
+
32
+ ## 調べたこと
24
33
 
25
34
  「php スコープ 外 変数 取得」等で検索したものの、グローバル変数を取得する方法しか見つけられませんでした。

2

関数名

2022/06/01 08:45

投稿

erajera
erajera

スコア22

test CHANGED
File without changes
test CHANGED
@@ -1,19 +1,19 @@
1
- ```$aug```を受け取る関数の中で```array_map```のコールバック関数に```$aug```を渡したいのですが、変数を参照できずにいます。
1
+ ```$aug```を受け取る関数```get_result```の中で実行する```array_map```のコールバック関数に```$aug```を渡したいのですが、変数を参照できずにいます。
2
2
 
3
3
  コードは下記のようになっています。
4
4
 
5
5
  ```php
6
- function change_bar($val, $aug) {
6
+ function addition($val, $aug) {
7
7
  return $val + $aug;
8
8
  };
9
9
 
10
- function get_foo($aug)
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
- change_bar($val, $aug);
16
+ addition($val, $aug);
17
17
  } , $array);
18
18
  };
19
19
  ```

1

本文

2022/06/01 08:43

投稿

erajera
erajera

スコア22

test CHANGED
File without changes
test CHANGED
@@ -18,6 +18,8 @@
18
18
  };
19
19
  ```
20
20
 
21
- ```$aug```がグローバル変数ではないため、undefinedになるのではないかなと思うのですが、とはいえglobalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
21
+ ```$aug```がグローバル変数ではないため、undefinedになるのではないかなと思うのですが、globalが無いと、```array_map```の中の```$aug```が見つからない、とエディタがエラーを示します。
22
22
 
23
23
  関数が受け取る引数を、```array_map```のコールバック関数の第二引数として渡す方法をご教示いただけないでしょうか。
24
+
25
+ 「php スコープ 外 変数 取得」等で検索したものの、グローバル変数を取得する方法しか見つけられませんでした。