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

回答編集履歴

2

2017/08/04 20:45

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -1,4 +1,5 @@
1
1
  PHPの例が出ていないので載せておきます。ネストした配列の初期化が容易にできるPHPらしい解法です。
2
+ if文や三項演算子などによる**条件分岐が1つも無い**のが特徴です。
2
3
 
3
4
  [整数配列の連続区間をハイフンで連結してグループ化する定番のアレ - Qiita](http://qiita.com/mpyw/items/0fdffd3c70b3abd802f5)
4
5
 

1

change variable name

2017/08/04 20:45

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -4,11 +4,11 @@
4
4
 
5
5
  ```php
6
6
  $data = [1, 2, 3, 4, 5, 8, 9, 10, 13, 14, 20, 22];
7
- foreach ($array as $i => $v) {
7
+ foreach ($data as $i => $v) {
8
- $groups[$v - $i][isset($groups[$v - $i])] = $v;
8
+ $pairs[$v - $i][isset($pairs[$v - $i])] = $v;
9
9
  }
10
- foreach ($groups as $group) {
10
+ foreach ($pairs as $pair) {
11
- $ranges[] = implode('~', $group);
11
+ $ranges[] = implode('~', $pair);
12
12
  }
13
13
  echo implode(',', $ranges);
14
14
  ```