回答編集履歴

2

非破壊的について

2021/09/08 05:21

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -1,4 +1,4 @@
1
- foreachは非破壊的処理標準実装なので、処理中に別の変数に移し替える必要があります。
1
+ 何もエラーは起きてませんが、上の書き方だとやりたいことができません。その理由として、foreachは非破壊的メソッド(元の変数の値変化しい上に、asでループさせた変数もただ参照用)なので、処理中に別の変数に移し替える必要があります。
2
2
 
3
3
 
4
4
 

1

補足の補足

2021/09/08 05:21

投稿

FKM
FKM

スコア3647

test CHANGED
@@ -32,7 +32,7 @@
32
32
 
33
33
  fclose($fp);
34
34
 
35
- $row2 = [];
35
+ $row2 = []; //新たなオブジェクト用の変数B
36
36
 
37
37
  $rows = array_slice($rows, -10);
38
38
 
@@ -42,7 +42,7 @@
42
42
 
43
43
  }
44
44
 
45
- var_dump($row2); // Aの$rowが出力される
45
+ var_dump($row2); // Bの$row2が出力される
46
46
 
47
47
  }
48
48