複数選択が可能な要素の値を取得する時に

フォーム要素によっては、ひとつの要素で複数の値を持つものがあります。チェックボッ クスやリス トボックスがその代表だと言えます。

このような要素では、値が複数あることを意識した上でコードを記述する必要があります。

 

(1)要素の名前は「名前[]」とする

要素の名前を記述する場合には、要素名 (name属性)の末尾にブラケット ([])を付けるようにしてください。これによって、要素の値が配列として PHPに渡されるととになります。ブラケットを忘れてしまうと、このあとのコードがいくら正しくても、値を取得することができなくなってしまいますので、注意するようにしましょう。

 

(2)複数値は配列として渡される

 「名前[]」の形式で渡された要素の値は、配列として PHPに渡されます。 配列は、 foreachなどの繰り返し構文で処理しても大丈夫ですが、単純にカンマ区切りでひとつの文字列にま とめて表示することも可能です。配列内の要素を特定の区切り文字でまと めるには、 implode関数を使います。

 issetは、指定された変数がセッ卜されており、かつ、 NULL(ヌル)でないかを判定する 関数です。 NULLとは、変数になにも値がセッ卜されていない状態を表す特別な値です。例えば、 $_POST[‘os’]がNULLでない (=OS欄がひとつでもチェックされている)場合にのみ、以降の print命令を実行しています。implode関数に NULLを渡してしまうと、 Warning (警告)が発生しますので注意してください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です