PHP中startsWith()和endsWith()函數(shù)如何使用

PHP中startsWith()和endsWith()函數(shù)如何使用,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

為淮北等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及淮北網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、淮北網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

例如:

$str = '|apples}';echo startsWith($str, '|'); //Returns trueecho endsWith($str, '}'); //Returns true

上面的正則表達(dá)式功能,但上面提到的其他調(diào)整:

 function startsWith($needle, $haystack) {     return preg_match('/^' . preg_quote($needle, '/') . '/', $haystack);
 } function endsWith($needle, $haystack) {     return preg_match('/' . preg_quote($needle, '/') . '$/', $haystack);
 }

簡(jiǎn)而言之:

function startsWith($str, $needle){   return substr($str, 0, strlen($needle)) === $needle;
}function endsWith($str, $needle){
   $length = strlen($needle);   return !$length || substr($str, - $length) === $needle;
}

您可以使用substr_compare函數(shù)來(lái)檢查start-with和ends-with:

function startsWith($haystack, $needle) {    return substr_compare($haystack, $needle, 0, strlen($needle)) === 0;
}function endsWith($haystack, $needle) {    return substr_compare($haystack, $needle, -strlen($needle)) === 0;
}

這應(yīng)該是PHP 7(  基準(zhǔn)腳本 )上最快的解決方案之一。 測(cè)試了8KB干草堆,各種長(zhǎng)度的針和完整,部分和無(wú)匹配的情況。 strncmp是一個(gè)更快的觸摸開(kāi)始 - 但它無(wú)法檢查結(jié)束。

為什么不以下?

//How to check if a string begins with another string$haystack = "valuehaystack";
$needle = "value";if (strpos($haystack, $needle) === 0){    echo "Found " . $needle . " at the beginning of " . $haystack . "!";
}

輸出:

在valuehaystack開(kāi)頭找到價(jià)值!

請(qǐng)記住,如果在大海撈針中找不到針, strpos將返回false,并且當(dāng)且僅當(dāng)在指數(shù)0處找到針時(shí)才會(huì)返回0(AKA開(kāi)頭)。

以下是:

$haystack = "valuehaystack";
$needle = "haystack";//If index of the needle plus the length of the needle is the same length as the entire haystack.if (strpos($haystack, $needle) + strlen($needle) === strlen($haystack)){    echo "Found " . $needle . " at the end of " . $haystack . "!";
}

在這種情況下,不需要函數(shù)startsWith()as

(strpos($stringToSearch, $doesItStartWithThis) === 0)

將準(zhǔn)確地返回真或假。

這看起來(lái)很奇怪,所有狂野的功能在這里都很猖獗。

我意識(shí)到這已經(jīng)完成了,但你可能想看一下 strncmp因?yàn)樗试S你把字符串的長(zhǎng)度進(jìn)行比較,所以:

function startsWith($haystack, $needle, $case=true) {    if ($case)        return strncasecmp($haystack, $needle, strlen($needle)) == 0;    else
        return strncmp($haystack, $needle, strlen($needle)) == 0;
}

看完上述內(nèi)容,你們掌握PHP中startsWith()和endsWith()函數(shù)如何使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞標(biāo)題:PHP中startsWith()和endsWith()函數(shù)如何使用
網(wǎng)站鏈接:http://muchs.cn/article4/gphgie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、建站公司移動(dòng)網(wǎng)站建設(shè)搜索引擎優(yōu)化、定制開(kāi)發(fā)網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司