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

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

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

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

Q&A

解決済

2回答

569閲覧

【PHP】foreachなどで配列の中身を連続して出力する場合の分割

phiilo_

総合スコア85

PHP

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

0グッド

0クリップ

投稿2017/10/23 08:32

下記コードのように配列をダァーっ!とテーブルで出力しています。
...ダァーっ!とです。

PHP

1<?php 2 3 echo"<table style='border-style: solid; border-color: black;'><tbody>"; 4 5 $arr = array("田中", "田中", "田中", "田中", "松本", "浜田", "浜田", "浜田"); 6 7 foreach($arr as $value){ 8 9 echo "<td style='border-style: solid; border-color: black;'>".$value."</td><br>"; 10 11 } 12 13 echo"</tbody></table>"; 14 15?>

この時に、なるべく簡潔に、
田中は田中のテーブル
松本は松本のテーブル
浜田は浜田のテーブル
にしたいです。

今は1つのテーブルの中でforeachでブン回しているため、当然1つのテーブルの中に全員入っていますが、各お名前ごとにテーブルを作成したいです。

わかる方ご回答願います。

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

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

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

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

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

guest

回答2

0

ベストアンサー

作成するtableの内容をちょっと理解していないかもしれませんが以下のような感じでしょうか。
名前をキーにした配列にすればokかと。

PHP

1$arr = array( 2 "tanaka" => array("田中", "田中", "田中"), 3 "matsumoto" => array("松本"), 4 "hamada" => array("浜田", "浜田", "浜田") 5); 6foreach($arr as $key => $value){ 7 echo $key; 8 echo"<table style='border-style: solid; border-color: black;'><tbody>"; 9 foreach($value as $v){ 10 echo "<td style='border-style: solid; border-color: black;'>".$v."</td>"; 11 } 12 echo"</tbody></table>"; 13}

投稿2017/10/23 08:48

編集2017/10/23 08:50
mayoi_maimai

総合スコア1583

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

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

phiilo_

2017/10/23 09:50

見やすくて良いなぁと思いました。 ありがとうございました。
guest

0

いまいち何をしたいかわかりませんが、こういうことでしょうか?

PHP

1$a=array("田中", "田中", "田中", "田中", "松本", "浜田", "浜田", "浜田"); 2 3foreach(array_unique($a) as $val1){ 4 echo "<table style='border-style: solid; border-color: black;'>\n"; 5 echo "<tbody>\n"; 6 echo "<tr>\n"; 7 foreach(array_filter($a,function($x) use($val1){return $x===$val1;}) as $val2){ 8 echo "<td style='border-style: solid; border-color: black;'>{$val2}</td>\n"; 9 } 10 echo "</tr>\n"; 11 echo "</tbody>\n"; 12 echo "</table>\n"; 13}

投稿2017/10/23 08:46

yambejp

総合スコア114843

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

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

phiilo_

2017/10/23 09:51

なにがしたいのか伝えられず申し訳ありませんでした。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問