PHP

PHP 文字列を空白や改行で区切ってLike検索 preg_replace()

PHP

 

「鈴木 太郎」といった苗字と名前で2回LIKE検索かけたい場合があります。

 

preg_split()を利用しよう

preg_split()

 

preg_split({正規表現}, {文字列}, {最大分割数}, {オプション});

 

実装例

// あらゆる空白で分割 ex. ["鈴木", "太郎"] <= "鈴木 太郎"
$user_names = preg_split('/[\p{Z}\p{Cc}]++/u', $search_param['user_name'], 2, PREG_SPLIT_NO_EMPTY);

foreach ($user_names as $user_names) {
    $query->where('user_profiles.text_value', 'like', '%'$user_name . '%');
}

 

 

区切り文字での分割といえばexplode()

区切り文字があらかじめわかっている場合はexplodeが便利です

$array = "Tarou/Suzuki";
list($name, $middle_name) = explode('/', $array);

list()とセットで使うことが多いですね。

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)