PHP | str_contains()で指定の文字列が含まれているか判別する方法

2022-03-22PHP 判別・判定,PHP

PHP | str_contains()で指定の文字列が含まれているか判別する方法

PHPのstr_contains()を利用して対象の文字列に指定した文字列が含まれているかどうか判別するサンプルコードです。

str_contains()はPHP 8から利用可能になっている関数ですので、PHP 8以前のPHPでは利用できません。

正規表現を利用した同様の処理を行う場合、従来通りpreg_match()関数などを利用します。

指定の文字列が含まれているか判別する

str_contains()は対象の文字列に指定した文字列が含まれているかどうかを判別する関数です。

str_contains(対象の文字列, 判別する部分文字列);

指定した文字列が含まれている場合は「true」を、そうでなかった場合は「false」を返します。
大文字か小文字かは区別されて判別します。

また、この関数には指定可能なオプション引数はありません。

以下のサンプルでは「Hallo World」「World」という文字列で終了しているかどうかを判別し結果「true」を返しています。

if (str_contains('Hallo World', 'Hallo')) {
	echo 'Halloは含まれています';
}else{
	echo 'Halloは含まれていません';
}
// Halloは含まれています

同様に「World」が含まれているかどうかを判別した場合もtrueが返されます。

if (str_contains('Hallo World', 'World')) {
	echo 'Worldは含まれています';
}else{
	echo 'Worldは含まれていません';
}
//Worldは含まれています

文字列に指定した文字列が含まれない場合は、falseが返されることを確認できます。

if (str_contains('Hallo World', 'Apple')) {
	echo 'Appleは含まれています';
}else{
	echo 'Appleは含まれていません';
}
// Appleは含まれていません

また、PHP 8以前の環境上でstr_containsを利用しようとすると以下のエラーが発生します。

Fatal error: Uncaught Error: Call to undefined function str_contains() in ~