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

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

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

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

5833閲覧

PHPで2つの変数をforeach(ループ文)で順番に表示する方法

red-ehephant

総合スコア12

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

foreach

foreachは、List・Collection・Arrayといったデータ構造の各要素に対して繰り返し処理を実行するために扱われる、制御構造の構文です。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/07/09 04:23

編集2019/07/09 05:26

前提・実現したいこと

プログラムもPHPもHTMLも全て初めてなもので変な書き方があると思いますが、お許しください。
HTMLとPHPをつかってアンケートフォームを作る練習をしていまして、
arrayに入っている変数を順番に表示するため、foreachを使っているのですが
変数1[1]:変数2[1]
変数1[2]:変数2[2]


とループをさせて表示させるためにはどのように記入すればよろしいでしょうか。
よろしくお願いいたします。

該当のソースコード

lang

1<?php 2 3 // var_dump($_POST); 4 5 $ans = $_POST['ans']; 6 $res = $_POST['res']; 7 8?> 9 10<!doctype html> 11<html lang="ja"> 12<head> 13 <meta charset="utf-8"> 14 <title>確認画面</title> 15</head> 16<body> 17 18 <h1>確認画面</h1> 19 <form method="POST" action="index3.php"> 20 <table> 21 <?php foreach( $res as $value) { ?> 22 <tr> 23 <p> 24 <td> 25 <?php print $value; ?> 26 </td> 27 <td> 2829 </td> 30 <!-- <td> 31 <?php print $value; ?> 32 </td> --> 33 </p> 34 </tr> 35 <?php } ?> 36 </table> 37 <input type="submit" value="登録" /> 38 <input type="button" onclick="history.back()" value="戻る"> 39 40 41</body> 42</html>

試したこと

<?php foreach( $res as $value) { ?>

<?php foreach( $res as $value and $ans as $value) { ?>

にするなどしましたができませんでした。

補足情報(FW/ツールのバージョンなど)

lang

1<?php foreach( $res as $value) { ?> 2 <tr> 3 <p> 4 <td> 5 <?php print $value; ?> 6 </td> 7 <td> 89 </td> 10 </p> 11 </tr> 12 <?php } ?> 13 </table> 14 15 <table> 16 <?php foreach( $ans as $value) { ?> 17 <tr> 18 <p> 19 <td> 20 <?php print $value; ?> 21 </td> 22 </p> 23 </tr> 24 <?php } ?> 25 </table> 26

テーブルを2つに分けたら思っていた動作をしたのですがテーブル1つではできませんか?

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

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

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

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

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

red-ehephant

2019/07/09 04:50

教えてくださりありがとうございます。 しっかり読んでおきます。
Orlofsky

2019/07/09 04:51

>修正してください。 って書いたのですが。
red-ehephant

2019/07/09 05:28

今直しました。 親切にURLも付けて教えて下さりありがとうございます。
guest

回答2

0

ベストアンサー

コードよく読んでないですけど

php

1foreach($res1 as $key => $value){ 2 echo $res1[$key]; 3 echo $res2[$key]; 4}

とかでどうですか?

投稿2019/07/09 04:26

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

red-ehephant

2019/07/09 04:44

凄いです!思った動きができました。 読みにくいにも関わらず、読んでくださりありがとうございました。
退会済みユーザー

退会済みユーザー

2019/07/09 05:17

質問を修正しておいて下さい。 多分ですけど、元のデータの持ち方を整理したほうが良いです。
red-ehephant

2019/07/09 05:29

今直しました。 ありがとうございました。
guest

0

こんな感じ?

PHP

1<form method="post"> 2<div>ans:<input name="ans[]" value="00"> / res:<input name="res[]" value="01"></div> 3<div>ans:<input name="ans[]" value="10"> / res:<input name="res[]" value="11"></div> 4<div>ans:<input name="ans[]" value="20"> / res:<input name="res[]" value="21"></div> 5<div>ans:<input name="ans[]" value="30"> / res:<input name="res[]" value="31"></div> 6<input type="submit" value="send"> 7</form> 8 9<hr> 10<?php 11$ans = filter_input(INPUT_POST,'ans',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 12$res = filter_input(INPUT_POST,'res',FILTER_DEFAULT,FILTER_REQUIRE_ARRAY); 13?> 14<table border> 15<?php foreach((array) $ans as $key=>$value) { ?> 16<tr> 17<td> 18<?=htmlspecialchars($value);?> 19</td> 20<td> 21<?=htmlspecialchars($res[$key]);?> 22</td> 23</tr> 24<?php } ?> 25</table>

投稿2019/07/09 04:39

yambejp

総合スコア114839

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

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

red-ehephant

2019/07/09 05:06

読みにくいにも関わらず、読んで下さりありがとうございます。 htmlspecialcharsを使って表示したかったので、助かりました。 1番に答えてくださった方をベストアンサーに選ばせていただきましたが分かりやすい文を書いて下さりありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問