回答編集履歴

3

ちょうせい

2019/07/29 05:31

投稿

yambejp
yambejp

スコア114769

test CHANGED
@@ -50,7 +50,9 @@
50
50
 
51
51
  ```
52
52
 
53
- これをすると"b"を削除したとき後ろのデータがつまってくるでNG
53
+ これをすると"b"を削除したとき後ろのデータがつまってきて、連続データ"c"が
54
+
55
+ 削除されないのでNG
54
56
 
55
57
 
56
58
 

2

一応・・・

2019/07/29 05:31

投稿

yambejp
yambejp

スコア114769

test CHANGED
@@ -27,3 +27,47 @@
27
27
  print_r($item_info_list);
28
28
 
29
29
  ```
30
+
31
+
32
+
33
+ # 参考
34
+
35
+ 削除するときは配列のケツから処理するとよいです
36
+
37
+ ```PHP
38
+
39
+ $a=["a","b","c","d","e"];
40
+
41
+ for($i=0;$i<count($a);$i++){
42
+
43
+ if(in_array($a[$i],["b","c","d"])) unset($a[$i]);
44
+
45
+ $a = array_values($a);
46
+
47
+ }
48
+
49
+ print_r($a);
50
+
51
+ ```
52
+
53
+ これをすると"b"を削除したとき後ろのデータがつまってくるのでNG
54
+
55
+
56
+
57
+ ```PHP
58
+
59
+ $a=["a","b","c","d","e"];
60
+
61
+ for($i=count($a)-1;$i>=0;$i--){
62
+
63
+ if(in_array($a[$i],["b","c","d"])) unset($a[$i]);
64
+
65
+ $a = array_values($a);
66
+
67
+ }
68
+
69
+ print_r($a);
70
+
71
+ ```
72
+
73
+ 後ろから回せばつまっても問題ない

1

chousei

2019/07/29 05:30

投稿

yambejp
yambejp

スコア114769

test CHANGED
@@ -1,3 +1,11 @@
1
+ > 配列を削除することを想定し、書いたコード
2
+
3
+
4
+
5
+ コードが提示されていません。
6
+
7
+ 普通にfilter処理すればよいと思います
8
+
1
9
  ```PHP
2
10
 
3
11
  $item_info_list = array(