質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

164閲覧

数字のみの配列を使い表を作る

seriko

総合スコア29

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/09/29 09:09

お世話になっております。
PHPで、$arr=array(8,2,-5,0,7,-120,3,-1,8,-3,10,7);という配列を必ず使って

8 2 -5 0
7 -120 3 -1
8 -3 10 7

上記のような3×4の表を作りたいです。
自分で書いてみたのですが、うまく表示されません。
勉強し始めたばかりで下手なコードですが、何かご教示よろしくお願い足します。

PHP

1<?php 2$arr=array(8,2,-5,0,7,-120,3,-1,8,-3,10,7); 3 4//表の作成 5echo '<table border="1">'; 6echo '<tr>'; 7 8//$arrを$valに格納 9 foreach ($arr as $val) { 10 $keys=array_keys($arr);//キー番号を調べる 11 if($keys<4){ 12 echo"<td>".$val."</td>"; 13 } 14 } 15echo '</tr><tr>'; 16 17//$arrを$valに格納 18 foreach ($arr as $val) { 19 $keys=array_keys($arr);//キー番号を調べる 20 if($keys>=4 && $keys<8){ 21 echo"<td>".$val."</td>"; 22 } 23 } 24echo '</tr><tr>'; 25 26//$arrを$valに格納 27 foreach ($arr as $val) { 28 $keys=array_keys($arr);//キー番号を調べる 29 if($keys>=8 && $keys<12){ 30 echo"<td>".$val."</td>"; 31 } 32 } 33echo '</tr>'; 34echo '</table>'; 35?> 36

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

php

1<?php 2$col_num = 4; 3$arr = [8, 2, -5, 0, 7, -120, 3, -1, 8, -3, 10, 7]; 4 5// 配列の要素数が、1行当たりの個数で割り切れないとき、不足分を空文字で埋める 6if (count($arr) % $col_num) { 7 $fill_count = ceil(count($arr) / $col_num) * $col_num; 8 $placeholder = array_fill(0, $fill_count - count($arr), ''); 9 $arr = array_merge($arr, $placeholder); 10} 11?> 12<table> 13 <tbody> 14 <?php foreach (array_chunk($arr, $col_num) as $row) : ?> 15 <tr> 16 <?php foreach ($row as $col) : ?> 17 <td><?php echo $col ?></td> 18 <?php endforeach; ?> 19 </tr> 20 <?php endforeach; ?> 21 </tbody> 22</table>

投稿2020/09/29 09:44

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

phper.k

2020/09/29 11:24 編集

この質問者も無反応組か… 礼も言えないなら、丸投げと一緒だな
guest

0

ベストアンサー

調べてみましたがarray_keysの使い方を知らないのかなと言う感じです。

簡単に実装するならこんな感じ

php

1<table> 2 <tr> 3 <?php 4 $arr = array(8,2,-5,0,7,-120,3,-1,8,-3,10,7); 5 $counter = 0; 6 foreach ($arr as $el) { 7 if($counter%4 == 0)//4個きたら改行 8 echo "</tr><tr>"; 9 echo "<td>".$el."</td>"; 10 $counter++; 11 } 12 ?> 13 </tr> 14</table>

投稿2020/09/29 09:29

sk-sora--ypi

総合スコア528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問