気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

  1. PHP関数
  2. 36 view

配列検索で正規表現を使う(in_arrayの代わりにpreg_grep)

配列に指定要素が含まれるか検索する定番の関数がin_array関数です。以下は配列に「田中次郎」が含まれるか検索しています。

<?php
$array = array("鈴木一郎", "田中次郎", "高橋史郎");
if (in_array("田中次郎", $array)) {
    echo "存在します";
}
?>

○実行結果

存在します

in_array関数では検索する指定文字列に正規表現を使うことができません。正規表現を使って配列検索を行う場合はpreg_grep関数が役立ちます。

<?php
$array = array("鈴木一郎", "田中次郎", "高橋史郎");
if (preg_grep("/^田中/", $array)) {
    echo "存在します";
}
?>

○実行結果

存在します

この例では「正規表現が使えるin_array関数」のイメージで配列要素の存在チェックのためにpreg_grep関数を使っていますが、preg_grep関数の戻り値はtrueまたはfalseのboolではなく、マッチした配列要素です。

<?php
$array = array("鈴木一郎", "田中次郎", "高橋史郎");
print_r(preg_grep("/^田中/", $array));
?>

次のように、マッチした要素が返されます。

○実行結果

Array ( [1] => 田中次郎 )

PHP関数の最近記事

  1. mb_send_mail関数でReturn-Pathを設定する方法

  2. is_numeric関数とis_int関数の違い

  3. PHPのdate関数の使用例

  4. isset関数とempty関数と「!」の違い

  5. 文字列を分割して配列を作成するexplode関数

関連記事

PAGE TOP