ホームページ > バックエンド開発 > PHPの問題 > PHPで配列に文字列が含まれているかどうかを検出する方法

PHPで配列に文字列が含まれているかどうかを検出する方法

青灯夜游
リリース: 2023-03-16 15:56:02
オリジナル
6983 人が閲覧しました

2 つの検出方法: 1. in_array 関数を使用して、配列に指定された型の値が含まれているかどうかを検出します。構文は「in_array('string', array, true)」です。戻り値がTRUEの場合は含まれます。それ以外の場合は含まれません。 2. array_search() 関数を使用して、配列に指定された型の値が含まれているかどうかを検出します。構文は「array_search('string', array, true)」です。対応するキー名が返された場合は、そのキー名が含まれます。 FALSE が返される場合は含まれません。

PHPで配列に文字列が含まれているかどうかを検出する方法

このチュートリアルの動作環境: Windows7 システム、PHP バージョン 8.1、DELL G3 コンピューター

php は、配列に次のものが含まれているかどうかを検出します。文字列には次の 2 つの方法があります。

  • in_array 関数を使用して検出します。

  • array_search() 関数を使用して検出します。

方法 1: in_array 関数を使用して検出する

in_array() 関数は、配列に特定の値が含まれているかどうかを検出できます。存在する場合は TRUE を返し、存在しない場合は FALSE を返します。

in_array($needle, $array[, $strict = FALSE])
ログイン後にコピー

パラメータの説明は次のとおりです:

  • $needle: 検索する値です。$needle が文字列の場合、比較では大文字と小文字が区別されます。

  • $array: 検索する配列です;

  • $strict: はオプションのパラメータで、デフォルトは FALSE です。

    • $strict が空または FALSE の場合、in_array() 関数は $needle の値が $array の値と等しいかどうかのみをチェックします。 $strict 値が TRUE の場合、in_array() 関数は $needle と $array の値をチェックするだけでなく、それらの型が等しいかどうかも比較します。
    in_array 関数を使用して配列に文字列が含まれているかどうかを検出する場合は、最初のパラメータを指定した文字列に設定し、3 番目のパラメータを設定するだけです。パラメータを TRUE に設定します (要素値の型と検索値が一致していることを確認するために使用されます)
  • <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array(
        &#39;name&#39;  =>&#39;PHP中文网&#39;,
        &#39;url&#39;   =>&#39;https://www.php.cn/&#39;,
        &#39;title&#39; =>&#39;PHP教程&#39;,
        &#39;pid&#39;   =>1234
    );
    var_dump($array);
    if(in_array(&#39;PHP教程&#39;, $array, true)){
        echo &#39;数组中包含字符串“PHP教程”<br><br>&#39;;
    }else{
        echo &#39;数组中不包含字符串“PHP教程”<br><br>&#39;;
    }
    if(in_array(&#39;1234&#39;, $array, true)){
        echo &#39;数组中包含字符串“1234”<br><br>&#39;;
    }else{
        echo &#39;数组中不包含字符串“1234”<br><br>&#39;;
    }
    ?>
    ログイン後にコピー

PHPで配列に文字列が含まれているかどうかを検出する方法方法 2: array_search() 関数を使用するto detect

array_search() 関数は、配列内の指定された値を検索できます。成功すると、最初に対応するキー名が返されます。この関数の構文形式は次のとおりです:

array_search($needle, $haystack[, $strict = false])
ログイン後にコピー

パラメータの説明は次のとおりです:

$needle: は検索する値です。$needle が文字列型の場合、検索では大文字と小文字が区別されます。

#$haystack: 配列です。
  • $strict: オプションのパラメーター。空にすることもできます。デフォルトは False です。
  • $strict が False の場合、array_search() は、$haystack で $needle を検索するときに、型ではなく値のみを比較します。
  • $strict が True の場合、array_search() は、$haystack で $needle を検索するときに値と型の両方を比較します。
    • array_search() 関数は、$needle のキーが見つかった場合はそのキーを返し、それ以外の場合は False を返します。
    <?php
    header("Content-type:text/html;charset=utf-8");
    $array = array(
        &#39;name&#39;  =>&#39;PHP中文网&#39;,
        &#39;url&#39;   =>&#39;https://www.php.cn/&#39;,
        &#39;title&#39; =>&#39;PHP教程&#39;,
        &#39;pid&#39;   =>1234,
         &#39;level&#39; => 1111,
    );
    var_dump($array);
    var_dump(array_search(&#39;1234&#39;, $array, true));
    var_dump(array_search(&#39;PHP教程&#39;, $array));
    var_dump(array_search(&#39;1111&#39;, $array, true));
    var_dump(array_search(1111, $array, true));
    ?>
    ログイン後にコピー

    注: $needle が $haystack 内に複数回出現する場合、最初に一致したキーのみが返されます。値に一致するすべてのキーを返すには、代わりに array_keys() 関数を使用する必要があります。

    PHPで配列に文字列が含まれているかどうかを検出する方法 推奨学習: 「

    PHP ビデオ チュートリアル

    以上がPHPで配列に文字列が含まれているかどうかを検出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート