Bagaimana Cara Memeriksa Apakah Suatu String Berisi Kata Tertentu dengan PHP

Bagaimana Cara Memeriksa Apakah Suatu String Berisi Kata Tertentu dengan PHP

iis

July 31, 2019

Oke, langsung ke contoh:

$a = 'How are you?';
if ($a contains 'are')
echo 'true';

Misalkan saya memiliki kode di atas, apa cara yang benar untuk menulis pernyataan if ($ a berisi ‘are’)?

Anda dapat menggunakan fungsi strpos () yang digunakan untuk menemukan kemunculan satu string di dalam string lainnya:

$a = 'How are you?';
if (strpos($a, 'are') !== false) {
echo 'true';
}

Perhatikan bahwa penggunaan! == false disengaja (neither != false nor === true akan berfungsi); strpos() mengembalikan salah satu offset di mana string jarum dimulai pada string tumpukan jerami, atau boolean false jika jarum tidak ditemukan. Karena 0 adalah offset yang valid dan 0 adalah “falsey”, kami tidak dapat menggunakan konstruksi yang lebih sederhana seperti! Strpos ($ a, ‘are’).

php

Tapi hati-hati dengan ini. Ini juga akan mengembalikan true untuk string ‘Do you care?’

Saya cenderung menghindari masalah ini dengan selalu menggunakan strpos ($ a, ‘are’)> -1 untuk menguji benar. Dari perspektif debugging, saya menemukan otak saya buang lebih sedikit siklus clock menentukan apakah baris ditulis dengan benar ketika saya tidak harus menghitung tanda sama dengan yang berdekatan.