質問編集履歴
2
求めたい結果と現在の記述を追加しました
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
一部変更
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から振り直したいのですが、
|