質問: $resList->fetchRow()){ if (array_search($row[0], (array)$array) !== FALSE) { echo ""; } else {echo "";} } ``` 丸投げですみません。PHP初心者です。 $row=array("1", "2", "3","4", "5", "6"); です。 $arrayの1、3、5と$row[0]が一致する場合のみ echo ""; を出力したいです。 ほしい結果↓ 上記のコードで問題ないでしょうか? よろしくお願いいたします。
回答: > > > > > > > > > > > > > > > いくつかあります。 基本的にnameについて数字だけを指定するのはよくないとされます。 1文字目がアルファベットになるよう調整下さい また今回の命題に関係ないからだと思いますが、2,4,6のnameが1と同じものを指定しています。 formで送るときに上書きされるのできちんとユニークなnameをつけるようにして下さい。 一応PHPの慣習でcheckboxの場合x[]のような形式をつかうと配列で受けられることになっています。 その上で以下のような方式でチェックを引き継ぐといいでしょう。 ``` $checked["c"]=array_fill(1,6,"");//デフォルト空 /*以下本来ならDBからfetchする*/ $a=[1,3,5]; foreach($a as $val){ $checked["c"][$val]=" checked"; } print << eof; ```