str_contains是一個(gè)查詢(xún)函數(shù),判斷一個(gè)字符串是否包含一個(gè)子字符串,其語(yǔ)法如下:
bool str_contains(string $haystack, string $needle)
其中$haystack是被查詢(xún)的主字符串,$needle是要查詢(xún)的子字符串,返回值為布爾值。例如下面的代碼:
$haystack = 'Hello world'; if (str_contains($haystack, 'world')) { echo 'Found'; }
代碼可以在$haystack字符串中找到'world'子字符串,因此輸出'Found'。
接下來(lái)是str_starts_with函數(shù),判斷一個(gè)字符串是否以特定的子字符串開(kāi)頭,其語(yǔ)法如下:
bool str_starts_with(string $haystack, string $needle)
與str_contains一樣,其中$haystack是被查詢(xún)的主字符串,$needle是要查詢(xún)的子字符串,返回值也是布爾值。例如下面的代碼:
$haystack = 'Hello world'; if (str_starts_with($haystack, 'Hello')) { echo 'Found'; }
代碼可以在$haystack字符串中找到'Hello'子字符串開(kāi)頭,因此輸出'Found'。
除了str_starts_with,還有str_ends_with函數(shù)可以判斷一個(gè)字符串是否以特定的子字符串結(jié)尾,其語(yǔ)法如下:
bool str_ends_with(string $haystack, string $needle)
其中的參數(shù)與str_starts_with函數(shù)相同,同樣,返回值也是布爾值。下面是一個(gè)使用示例:
$haystack = 'Hello world'; if (str_ends_with($haystack, 'world')) { echo 'Found'; }
代碼可以在$haystack字符串中找到'world'子字符串結(jié)尾,因此輸出'Found'。
除了以上三個(gè)新函數(shù),還有字符串兩頭的字符trim操作也被優(yōu)化了。在PHP 8中,可以使用一個(gè)字符串參數(shù)來(lái)指定要?jiǎng)h除的字符集。例如,要?jiǎng)h除字符串開(kāi)頭和結(jié)尾的所有數(shù)字,請(qǐng)使用以下代碼:
$str = '123Hello World321'; echo trim($str, '0123456789');
代碼輸出"Hello World"。這是因?yàn)閿?shù)字0到9作為刪除字符被傳遞給trim函數(shù),被函數(shù)刪除。如果不傳遞刪除字符,那么只能刪除字符串兩頭的空格。
以上是在PHP 8中優(yōu)化的字符串操作函數(shù),它們可以較快地操作字符串內(nèi)容,提高字符串處理效率。在實(shí)際開(kāi)發(fā)中,這些函數(shù)可以用于處理日志、配置文件、輸入保護(hù)等方面。希望讀者能充分理解并熟練掌握這些函數(shù),更好地利用PHP開(kāi)發(fā)。