strstr() 和 strrchr()有一定的相似性,所以放在一起,
strstr
strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
needle 可以為單個字符,也可以是個字串,
回傳 needle 在 haystack 在第一次出現的位置到結束,包括 needle,
before_needle 為true時,則回傳needle之前的字串,不包括 needle,
strrchr
strrchr ( string $haystack , mixed $needle ) : string
回傳 needle 在 haystack 在最后一次出現的位置到結束,包括 needle,
needle 必須為單個字符,多個字符只有第一個起作用,
一個典型應用就是獲取檔案擴展名,如下
strtolower(strrchr($filename, '.'))
總結
兩者的異同
strstr 中 needle 可以為字串
strrchr 中 needle只能為單個字符,從名稱上也能看出來,中間的r代表right,指從右邊開始算起,既然有從右邊開始算,那么肯定也應該有從左邊開始算的,而且命名應該是 strlchr,按照慣例,l 可以省略,那就是 strchr,查了一下果然有,不過是 strstr 的別名,而且功能有所增強,
目前來看,唯一不對稱的就是命名和功能,不一致,不知道官方基于什么考慮,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/40948.html
標籤:PHP
上一篇:Yii2中Console定時任務
