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://chinadenli.net/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í)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)