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

質問編集履歴

2

求めたい結果と現在の記述を追加しました

2016/01/26 12:18

投稿

today_only
today_only

スコア12

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,8 @@
1
1
  当方PHP勉強中の者です。
2
2
  PHPにて、多次元配列の配列のキーを昇順に振り直したいです。
3
3
 
4
+ キーがバラバラな多次元配列を、
5
+ ```PHP
4
6
  $test = [
5
7
  [1] => [
6
8
  'test' => [
@@ -14,7 +16,37 @@
14
16
  [32] => ...,
15
17
  [64] => ...
16
18
  ],
19
+ ```
17
20
 
21
+ このような結果にしたいです。
22
+ ```PHP
23
+ $test = [
24
+ [0] => [
25
+ 'test' => [
26
+ [0] => ...,
27
+ [1] => ...,
28
+ [2] => ...
29
+ ],
30
+ [1] => [
31
+ 'test' => [
32
+ [0] => ...,
33
+ [1] => ...,
34
+ [2] => ...
35
+ ],
36
+ ```
37
+
18
38
  この様な多次元配列の配列のキーを0から振り直したいのですが、
19
39
  Array_Merge()の場合、一次元のみ振り直され 'test' キーの中にある配列のキーは振り直されません。
20
- 現在 foreach で記述していますが、スマートな方法がありましたらご教示頂けますと幸いです。
40
+ 現在 foreach で記述していますが、スマートな方法がありましたらご教示頂けますと幸いです。
41
+
42
+ Foreachでの記述
43
+ ```PHP
44
+ $each = [];
45
+ $i = 0;
46
+ foreach($test as $key1 => $val1){
47
+ foreach($val1['test'] as $key2 => $val2){ // test 配列
48
+ $each[$i]['test'][] = $val2;
49
+ }
50
+ $i++;
51
+ }
52
+ ```

1

一部変更

2016/01/26 12:18

投稿

today_only
today_only

スコア12

title CHANGED
File without changes
body CHANGED
@@ -4,15 +4,15 @@
4
4
  $test = [
5
5
  [1] => [
6
6
  'test' => [
7
- [16] => /**/,
7
+ [16] => ...,
8
- [32] => /**/,
8
+ [32] => ...,
9
- [64] => /**/
9
+ [64] => ...
10
10
  ],
11
11
  [3] => [
12
12
  'test' => [
13
- [16] => /**/,
13
+ [16] => ...,
14
- [32] => /**/,
14
+ [32] => ...,
15
- [64] => /**/
15
+ [64] => ...
16
16
  ],
17
17
 
18
18
  この様な多次元配列の配列のキーを0から振り直したいのですが、