• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:連想配列の操作がうまくいかない)

連想配列の操作がうまくいかない

このQ&Aのポイント
  • PHPの連想配列を操作する際にシンタックスエラーが発生しています。特に、チェックボックスの選択状態に応じて「or」または「and」の値を連想配列に代入する処理がうまく機能していません。
  • 具体的には、チェックボックスが選択されている場合には「or」を、選択されていない場合には「and」を代入するようにしていますが、その処理の一部にシンタックスエラーが出ています。
  • 解決方法としては、ループ処理の中で変数の代入を行う箇所で問題が発生している可能性があります。変数「$and」に値を代入する際の文法を見直し、適切な代入方法を採用する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

若干、つめが甘い。 たぶんこんな感じがしたいんだと。 <?PHP if(isset($_REQUEST["cb"])){ $cb = $_REQUEST["cb"]; $ands = array_fill(0,8,"or"); foreach($ands as $key=> &$and){ if(isset($cb[$key])){ $and="and"; } } print_r($ands); } echo <<< EOT <form> <input type="checkbox" name="cb[0]" value="1">title0<br> <input type="checkbox" name="cb[1]" value="1">title1<br> <input type="checkbox" name="cb[2]" value="1">title2<br> <input type="checkbox" name="cb[3]" value="1">title3<br> <input type="checkbox" name="cb[4]" value="1">title4<br> <input type="checkbox" name="cb[5]" value="1">title5<br> <input type="checkbox" name="cb[6]" value="1">title6<br> <input type="checkbox" name="cb[7]" value="1">title7<br> <input type="checkbox" name="cb[8]" value="1">title8<br> <input type="submit" value="go"> </form> EOT; ?>

spinia0120
質問者

お礼

おおお…うまくできました! 本当にありがとうございます

その他の回答 (2)

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.2

セミコロンがコロンだというオチでは... foreachブロックの中もちょっと意味が分からないのでよく考えた方がいいです。

spinia0120
質問者

お礼

ご回答ありがとうございます。 まずすべてにandを代入してから該当部分だけorに置き換えようと考えていました。

noname#138894
noname#138894
回答No.1

シンタックスエラーの中身が何より大事なので、 提示して下さい。 また、エラーで表示される行数はあくまで目安くらいに思っておかないと エラーが永久に見つからないこともあります。

spinia0120
質問者

お礼

ご回答ありがとうございます。 >シンタックスエラーの中身が何より大事なので、 提示して下さい。 わかりました。エラーが出た際は必ず明示します。

関連するQ&A