質問編集履歴

1

書式の改善

2015/12/23 04:37

投稿

Zero0068
Zero0068

スコア7

test CHANGED
@@ -1 +1 @@
1
- 配列が表示されません
1
+ 多次元配列をHTMLへ出力したい
test CHANGED
@@ -1,8 +1,10 @@
1
1
  PHP初心者です。
2
2
 
3
+ 今、Webサイトを作っているのですが
4
+
3
5
  配列を表示させる事が出来ません。
4
6
 
5
-
7
+ ```
6
8
 
7
9
  $menuArray = array(
8
10
 
@@ -38,6 +40,12 @@
38
40
 
39
41
  );
40
42
 
43
+ PHP
44
+
45
+ ```
46
+
47
+
48
+
41
49
 
42
50
 
43
51
  表示させたい所は$menuArray[3][1][1]と$menuArray[3][1][0]です。
@@ -46,118 +54,120 @@
46
54
 
47
55
  その為に
48
56
 
57
+ ```<ul>
58
+
59
+ <?php
60
+
61
+ $sitemap_num = 0;
62
+
63
+ //関数の定義
64
+
65
+ function childPage_put($num,$len){
66
+
67
+ print('<li>'."\n".'<ul>'."\n");
68
+
69
+ for($i = 0; $i < $len; $i++){
70
+
71
+ //配列の要素数だけ処理を繰り返します。
72
+
73
+ print(
74
+
75
+ '<li><a href="'
76
+
77
+ .$menuArray[$num][1][1][$i]//■
78
+
79
+ .'">'
80
+
81
+ .$menuArray[$num][1][0][$i]//■
82
+
83
+ .'</a></li>'."\n"
84
+
85
+ );
86
+
87
+ };
88
+
89
+ print('</ul>'."\n".'</li>'."\n");
90
+
91
+ };//childPage_put()
92
+
93
+ foreach ($menuArray as $d) {
94
+
95
+ //HTMLへ出力
96
+
97
+ print(
98
+
99
+ '<li><a href="'
100
+
101
+ .$currentPath
102
+
103
+ .$d[0][1]//ファイルパス
104
+
105
+ .'">'
106
+
107
+ .$d[0][0]//項目名
108
+
109
+ .'</a></li>'."\n"."\t"
110
+
111
+ );
112
+
113
+ //判定式
114
+
115
+ if($menuArray[$sitemap_num][1][0] == 'not'){
116
+
117
+ //子ページが存在しない場合に行われる処理
118
+
119
+ }else{
120
+
121
+ //子ページが存在する場合に行われる処理
122
+
123
+ $sitemap_num = intval($sitemap_num);
124
+
125
+ $len = count($menuArray[$sitemap_num][1][0]);//子ページの配列の要素数
126
+
127
+ echo($menuArray[$sitemap_num][1][0][0]);//★
128
+
129
+ childPage_put($sitemap_num,$len);
130
+
131
+ };
132
+
133
+ $sitemap_num++;//$sitemap_numを1ずつ増やす
134
+
135
+ }//foreach
136
+
137
+ ?>
138
+
139
+ </ul>
140
+
141
+ PHP
142
+
143
+ ```
144
+
145
+
146
+
147
+ という風に書きました。
148
+
149
+ $menuArrayの$menuArray[X][1][0]の中に'not'とあれば、何も処理を行わず、それ以外は
150
+
151
+ 入れ子リストを作るような処理を書きました。
152
+
153
+ $menuArray[X][1][0]には何も子ページが無い場合は'not'と書いて、
154
+
155
+ もし子ページがある場合は一番上の「一部分を記載」のようにさらに配列をつくり、子ページの名前とファイル名を書きました。
156
+
157
+
158
+
159
+ ★のついている部分はきちんと配列がHTMLに表示されるのですが、
160
+
161
+ ■のついている部分は配列がHTMLに表示されません。
162
+
163
+
164
+
165
+ ```HTMLのソース
166
+
49
167
 
50
168
 
51
169
  <ul>
52
170
 
53
- <?php
54
-
55
- $sitemap_num = 0;
56
-
57
- //関数の定義
58
-
59
- function childPage_put($num,$len){
60
-
61
- print('<li>'."\n".'<ul>'."\n");
62
-
63
- for($i = 0; $i < $len; $i++){
64
-
65
- //配列の要素数だけ処理を繰り返します。
66
-
67
- print(
68
-
69
- '<li><a href="'
70
-
71
- .$menuArray[$num][1][1][$i]//■
72
-
73
- .'">'
74
-
75
- .$menuArray[$num][1][0][$i]//■
76
-
77
- .'</a></li>'."\n"
78
-
79
- );
80
-
81
- };
82
-
83
- print('</ul>'."\n".'</li>'."\n");
84
-
85
- };//childPage_put()
86
-
87
- foreach ($menuArray as $d) {
88
-
89
- //HTMLへ出力
90
-
91
- print(
92
-
93
- '<li><a href="'
94
-
95
- .$currentPath
96
-
97
- .$d[0][1]//ファイルパス
98
-
99
- .'">'
100
-
101
- .$d[0][0]//項目名
102
-
103
- .'</a></li>'."\n"."\t"
104
-
105
- );
106
-
107
- //判定式
108
-
109
- if($menuArray[$sitemap_num][1][0] == 'not'){
110
-
111
- //子ページが存在しない場合に行われる処理
112
-
113
- }else{
114
-
115
- //子ページが存在する場合に行われる処理
116
-
117
- $sitemap_num = intval($sitemap_num);
118
-
119
- $len = count($menuArray[$sitemap_num][1][0]);//子ページの配列の要素数
120
-
121
- echo($menuArray[$sitemap_num][1][0][0]);//★
122
-
123
- childPage_put($sitemap_num,$len);
124
-
125
- };
126
-
127
- $sitemap_num++;//$sitemap_numを1ずつ増やす
128
-
129
- }//foreach
130
-
131
- ?>
132
-
133
- </ul>
134
-
135
-
136
-
137
- という風に書きました。
138
-
139
- $menuArrayの$menuArray[X][1][0]の中に'not'とあれば、何も処理を行わず、それ以外は
140
-
141
- 入れ子リストを作るような処理を書きました。
142
-
143
- $menuArray[X][1][0]には何も子ページが無い場合は'not'と書いて、
144
-
145
- もし子ページがある場合は一番上の「一部分を記載」のようにさらに配列をつくり、子ページの名前とファイル名を書きました。
146
-
147
-
148
-
149
- ★のついている部分はきちんと配列がHTMLに表示されるのですが、
150
-
151
- ■のついている部分は配列がHTMLに表示されません。
152
-
153
-
154
-
155
- HTMLのソース
156
-
157
-
158
-
159
- <ul>
160
-
161
171
  <li><a href="../index.php">トップページ</a></li>
162
172
 
163
173
  <li><a href="../news.php">ニュース</a></li>
@@ -190,7 +200,11 @@
190
200
 
191
201
  <li><a href="../gallery.php">ギャラリー</a></li>
192
202
 
193
- </ul>
203
+ </ul
204
+
205
+ HTML
206
+
207
+ ```
194
208
 
195
209
 
196
210