& を付けるとリファレンス渡しとなり、関数内で引数の値を変更することができます。
PHP
1function hoge($arg)
2{
3 $arg++;
4 return $arg;
5}
6
7function fuga(&$arg)
8{
9 $arg++;
10 return $arg;
11}
12
13$value1 = 1;
14echo hoge($value1);
15-> 2
16echo $value1;
17-> 1
18
19$value2 = 1;
20echo fuga($value2);
21-> 2
22echo $value2;
23-> 2
24
私はこんな感じでよく使います。
PHP
1$itemList = array(
2 array(
3 'name' => 'apple',
4 'price' => 30
5 ),
6 array(
7 'name' => 'banana',
8 'price' => 50
9 ),
10 array(
11 'name' => 'melon',
12 'price' => 5000
13 )
14);
15
16foreach ($itemList as &$item) {
17 $item['is_cheap'] = $item['price'] < 1000;
18}
19
20print_r($itemList);
21-> array(
22 array(
23 'name' => 'apple',
24 'price' => 30,
25 'is_cheap' => true
26 ),
27 array(
28 'name' => 'banana',
29 'price' => 50,
30 'is_cheap' => true
31 ),
32 array(
33 'name' => 'melon',
34 'price' => 5000,
35 'is_cheap' => false
36 )
37 )
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。