ソフト開発塾 |
- 新着 - VB - VC - Perl - PHP - カテゴリに登録 - |
<FORM method="POST">の<INPUT>で入力した値は
$_POSTで、値は収録できるのだが、
<input type="checkbox" name="type" value="1">
<input type="checkbox" name="type" value="2">
<input type="checkbox" name="type" value="3">
としても、正しい値がとれない。
これを、次のようにすると
<input type="checkbox" name="type[]" value="1">
<input type="checkbox" name="type[]" value="2">
<input type="checkbox" name="type[]" value="3">
$_POST[type]が、配列になる。
PHPのマニュアルより int preg_match ( string pattern, string subject [, array matches [, int flags]]) patternで指定した正規表現により subjectを検索します。 matchesが指定された場合、検索結果が代入されます。 $matches[0]はパターン全体にマッチしたテキストが代入され、 $matches[1]は最初の括弧付きのサブパターンにマッチしたテキスト が代入され、といったようになります。 flagsには以下のフラグを指定できます。 PREG_OFFSET_CAPTURE このフラグが設定された場合、マッチする度に付随する文字列のオフ セットも返されます。これにより、返り値は配列となり、その各要素 はマッチした文字列を要素0、 subjectの中でのその文字列オフセットを要 素1とする配列となることに注意して下さい。 このフラグは、PHP 4.3.0 以降で利用可能です。 flagsパラメータは、PHP 4.3.0 以降で利用可能です。 preg_match()は、pattern がマッチした回数を返します。これは、0回(マッチせず)または1回となり ます。これは、最初にマッチした時点でpreg_match() は検索を止めるためです。逆にpreg_match_all()は、 subjectの終わりまで検索を続けます。 preg_match()は、エラーが発生した場合にFALSEを 返します。 となっていますが、よく意味がわからないので、私なりに理解した内容を説明します。 機能1 文字列変数 $subject="0123456789"に、文字列 '456'が存在するかを確認するには $rc=preg_match('/456/',$subject);とし、存在する場合$rcが1存在しない場合0となる。 機能2 文字列変数 $subject="0123456789"に、文字列 '123'と'789'にはさまれた文字を探すには、 $rc=preg_match('/123(.*)789/',$subject,$matches);とし、存在する場合$rcが1存在しない場合0となる。 また、存在する場合、(上記の例では)$matches[0]に'123456789'が入り、$matches[1]には'456'が入ることになる。 正規表現を詳しく知るためには http://jp2.php.net/manual/ja/ref.pcre.php http://jp2.php.net/manual/ja/pcre.pattern.modifiers.php http://jp2.php.net/manual/ja/pcre.pattern.syntax.php を参照することになるのだが。。。。難しい!! それから、Googleで日本語マニュアルの検索できないのが。。。 自前の検索エンジンKLSHにマニュアルを食わせようかとも思っている。。。 |