teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

ちょうせい

2019/07/29 05:31

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -24,7 +24,8 @@
24
24
  }
25
25
  print_r($a);
26
26
  ```
27
- これをすると"b"を削除したとき後ろのデータがつまってくるでNG
27
+ これをすると"b"を削除したとき後ろのデータがつまってきて、連続データ"c"が
28
+ 削除されないのでNG
28
29
 
29
30
  ```PHP
30
31
  $a=["a","b","c","d","e"];

2

一応・・・

2019/07/29 05:31

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -12,4 +12,26 @@
12
12
  return $x["status"]!=="0";
13
13
  });
14
14
  print_r($item_info_list);
15
- ```
15
+ ```
16
+
17
+ # 参考
18
+ 削除するときは配列のケツから処理するとよいです
19
+ ```PHP
20
+ $a=["a","b","c","d","e"];
21
+ for($i=0;$i<count($a);$i++){
22
+ if(in_array($a[$i],["b","c","d"])) unset($a[$i]);
23
+ $a = array_values($a);
24
+ }
25
+ print_r($a);
26
+ ```
27
+ これをすると"b"を削除したとき後ろのデータがつまってくるのでNG
28
+
29
+ ```PHP
30
+ $a=["a","b","c","d","e"];
31
+ for($i=count($a)-1;$i>=0;$i--){
32
+ if(in_array($a[$i],["b","c","d"])) unset($a[$i]);
33
+ $a = array_values($a);
34
+ }
35
+ print_r($a);
36
+ ```
37
+ 後ろから回せばつまっても問題ない

1

chousei

2019/07/29 05:30

投稿

yambejp
yambejp

スコア117892

answer CHANGED
@@ -1,3 +1,7 @@
1
+ > 配列を削除することを想定し、書いたコード
2
+
3
+ コードが提示されていません。
4
+ 普通にfilter処理すればよいと思います
1
5
  ```PHP
2
6
  $item_info_list = array(
3
7
  0 => array('id' => 33, 'name' => 'テスト', 'price' => 100, 'img' => 'img/test', 'status' => '0'),