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

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

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

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

Q&A

解決済

2回答

286閲覧

ループで出力する要素に、配列の値を挿入したい

sanco

総合スコア20

PHP

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

0グッド

0クリップ

投稿2020/08/18 08:20

##前提・実現したいこと
ループ処理でinputタグを出力させたいのですが、
別に用意した配列の添え字と同じ回では、配列の値をvalueに入れたいです。

例えば$correct_listの中がArray ( [1] => test [5] => test2 )の時、
$iが2回目のループの時には「test」、6回目のループの時には「test2」がvalueに入るようにしたいです。
(その他の場合はvalue="")

配列に値がある箇所(2回目、6回目で出力される要素)は正しく表示されますが、
配列に値がない箇所は下記のようなエラーがvalueに表示されます。

##発生している問題・エラーメッセージ
<br />
<b>Notice</b>: Undefined offset: 2 in <b>index.php</b> on line <b>35</b><br />

##該当のソースコード

html

1<?php 2$correct_list[1]="test"; 3$correct_list[5]="test2"; 4?> 5 <form action="" method="post"> 6 <ul> 7 <?php for($i=0;$i<$9;$i++): ?> 8 <?php $listNo=array_search($j,$correct_list);?> 9 <li><input type="text" name="<?php echo $i; ?>" value="<?php if($listNo=$i){echo $correct_list[$i];} ?>"></li> 10 <?php endfor; ?> 11 </ul> 12 <button name="submit" type="submit" class="">ボタン</button> 13 </form>

##試してみたこと
下記コードを追加してみました。
1回目のループで出力されるinputタグだけエラーが出なくなりました。。。

php

1 $listNo=array_search($j,$correct_list); 2if($listNo=$i){・・・}

初歩的な質問で恐縮ですが、エラーを消す方法をご教授ください。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

PHP

1array_key_exists($i,$correct_list)?$correct_list[$i]:"" 2とか 3isset($correct_list[$i])?$correct_list[$i]:""

などしてチェックしてから出力します

投稿2020/08/18 08:31

yambejp

総合スコア115010

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

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

sanco

2020/08/18 08:48

ありがとうございます!!
guest

0

ベストアンサー

php

1<?php if (($listNo=$i) && (isset($correct_list[$i]))) { echo $correct_list[$i]; } ?>

投稿2020/08/18 08:28

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

sanco

2020/08/18 08:46

ありがとうございます、解決できました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問