最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP截取字符串substr()函數(shù)用法詳解

 更新時(shí)間:2023年08月16日 10:33:55   作者:士別三日wyx  
PHP的substr()函數(shù)用于返回字符串的子串,它接受三個(gè)參數(shù):字符串本身,起始位置和所需的長度,本文主要給大家詳細(xì)介紹了PHP substr()函數(shù)的用使用方法,需要的朋友可以參考下

substr() 可以「截取」字符串。

語法

string substr( $str, start, length);

參數(shù)

  • $str :被截取的字符串。
  • start :開始截取的位置。
  • length :截取的長度。

返回值

  • 截取成功,就返回截取的字符串
  • start 超過字符串長度,就返回 false
  • start 和 length 設(shè)置成不合理的截取范圍,就返回空字符串

一、截取字符串

1)字符串的「索引」從0開始,「空格」也算一個(gè)字符。

實(shí)例1:從左邊第6個(gè)字符開始,往右截取4個(gè)字符。

echo substr('0123456789',6,4).PHP_EOL;
echo substr('01234 6789',6,4);

輸出:

6789
6789

2) start 和 length 可以為負(fù)數(shù),負(fù)數(shù)就是相反的意思。

實(shí)例2:從右邊第6個(gè)字符開始,往右截取4個(gè)字符。

echo substr('9876543210',-6,4);

輸出:

5432

實(shí)例3:從左邊第6個(gè)字符開始,截取到右邊第3個(gè)字符。

echo substr('0123456789321',6,-3);

輸出:

67893

實(shí)例4:從右邊第6個(gè)字符開始,截取到右邊第4個(gè)字符。

echo substr('9876543210',-6,-4);

輸出:

54

二、截取中文字符串

「英文」字符占1個(gè)字節(jié),UTF8編碼的「中文」占3個(gè)字節(jié),GB2321編碼的中文占2個(gè)字節(jié)。

截取中文時(shí),一個(gè)(UTF8編碼)中文要當(dāng)做3個(gè)字符串來截取, start 和 length 的值得是「3的倍數(shù)」,否則會(huì)截取到亂碼。

實(shí)例:

echo substr('零一二三四五六七八九',0,3).PHP_EOL;
echo substr('零一二三四五六七八九',3,3).PHP_EOL;
echo substr('零一二三四五六七八九',3,1);

輸出:



?

三、length的特殊值

1) length 可以省略,默認(rèn)截取到字符串「末尾」。

實(shí)例:

echo substr('0123',1).PHP_EOL;
echo substr('0123',-1);

輸出:

123
3

2) length 為 0,null,false 時(shí),表示截取 0 個(gè)字符, substr() 會(huì)返回空字符串。

實(shí)例:

var_dump(substr('0123',1,0));
var_dump(substr('0123',1,null));
var_dump(substr('0123',1,false));

輸出:

string(0) ""
string(0) ""
string(0) ""

四、start的特殊值

1) start 超過字符串「長度」時(shí),會(huì)返回false。

實(shí)例:

var_dump(substr('0123',11));

輸出:

bool(false)

2) start 可以是數(shù)值型字符串,但內(nèi)容必須是「純數(shù)字」,否則會(huì)報(bào)錯(cuò)。

實(shí)例:

var_dump(substr('0123','0'));

輸出:

string(4) "0123"

3) start 可以是「布爾類型」( true=1;false=0 )。

實(shí)例:

var_dump(substr('0123',true));
var_dump(substr('0123',false));

輸出:

string(3) "123"
string(4) "0123"

4) start 包含運(yùn)算符時(shí),會(huì)先「運(yùn)算」,再將運(yùn)算結(jié)果「賦值」給 start 。

實(shí)例:

var_dump(substr('0123',1+1));
var_dump(substr('0123',1*2));
var_dump(substr('0123',~~2));
var_dump(substr('0123',1&1));

輸出:

string(2) "23"
string(2) "23"
string(2) "23"
string(3) "123"

5) start 為十六進(jìn)制時(shí),會(huì)自動(dòng)轉(zhuǎn)換為0進(jìn)制。

實(shí)例:11的十六進(jìn)制是 0xB

var_dump(substr('0123456789abcde',0xB));

輸出:

string(4) "bcde"

到此這篇關(guān)于PHP截取字符串substr()函數(shù)用法詳解的文章就介紹到這了,更多相關(guān)PHP substr()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PHP預(yù)定義超全局?jǐn)?shù)組變量小結(jié)

    PHP預(yù)定義超全局?jǐn)?shù)組變量小結(jié)

    這篇文章主要介紹了PHP預(yù)定義超全局?jǐn)?shù)組變量,結(jié)合實(shí)例形式總結(jié)分析了預(yù)定義超全局?jǐn)?shù)組變量的特性、功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證實(shí)例詳解

    ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證實(shí)例詳解

    這篇文章主要介紹了ThinkPHP6使用JWT+中間件實(shí)現(xiàn)Token驗(yàn)證的方法,結(jié)合實(shí)例形式詳細(xì)分析了JWT的功能、原理及token驗(yàn)證相關(guān)操作技巧,需要的朋友可以參考下
    2023-06-06
  • PHP簡單生成縮略圖相冊(cè)的方法

    PHP簡單生成縮略圖相冊(cè)的方法

    這篇文章主要介紹了PHP簡單生成縮略圖相冊(cè)的方法,實(shí)例分析了php生成縮略圖的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • PHP實(shí)現(xiàn)的曲線統(tǒng)計(jì)圖表示例

    PHP實(shí)現(xiàn)的曲線統(tǒng)計(jì)圖表示例

    這篇文章主要介紹了PHP實(shí)現(xiàn)的曲線統(tǒng)計(jì)圖表,結(jié)合實(shí)例形式分析了php基于圖形繪制實(shí)現(xiàn)曲線統(tǒng)計(jì)圖展現(xiàn)功能的相關(guān)操作技巧,需要的朋友可以參考下
    2016-11-11
  • php生成隨機(jī)顏色的方法

    php生成隨機(jī)顏色的方法

    這篇文章主要介紹了php生成隨機(jī)顏色的方法,通過一個(gè)自定義函數(shù)結(jié)合隨機(jī)數(shù)的生成來實(shí)現(xiàn)生成隨機(jī)顏色的功能,代碼簡潔易懂,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • php實(shí)現(xiàn)mysql事務(wù)處理的方法

    php實(shí)現(xiàn)mysql事務(wù)處理的方法

    這篇文章主要介紹了php實(shí)現(xiàn)mysql事務(wù)處理的方法,以實(shí)例形式實(shí)現(xiàn)了事務(wù)回滾的技巧,代碼簡單實(shí)用,需要的朋友可以參考下
    2014-12-12
  • PHP無限分類的類

    PHP無限分類的類

    這段時(shí)間在寫一個(gè)部門權(quán)限系統(tǒng),需要用到無限分類技術(shù),找了很多關(guān)于分類的代碼.逐個(gè)收藏起來
    2007-01-01
  • PHP輸出緩存ob系列函數(shù)詳解

    PHP輸出緩存ob系列函數(shù)詳解

    ob,輸出緩沖區(qū),是output buffering的簡稱,而不是output cache。ob用對(duì)了,是能對(duì)速度有一定的幫助,但是盲目的加上ob函數(shù),只會(huì)增加CPU額外的負(fù)擔(dān)
    2014-03-03
  • PHP SPL 被遺落的寶石【SPL應(yīng)用淺析】

    PHP SPL 被遺落的寶石【SPL應(yīng)用淺析】

    這篇文章主要介紹了PHP SPL應(yīng)用,結(jié)合實(shí)例形式分析了SPL非常重要卻又不為人所熟知的功能與相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • PHP多進(jìn)程編程實(shí)例詳解

    PHP多進(jìn)程編程實(shí)例詳解

    這篇文章主要介紹了PHP多進(jìn)程編程方法,較為詳細(xì)的分析了PHP多進(jìn)程編程的概念、用法、相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

河北省| 蛟河市| 鹰潭市| 辽宁省| 盐城市| 泉州市| 中方县| 南汇区| 富源县| 峨边| 靖远县| 上栗县| 瓦房店市| 弥渡县| 延边| 隆子县| 东城区| 新泰市| 永德县| 莱芜市| 吴桥县| 香格里拉县| 长海县| 峨边| 比如县| 中牟县| 石林| 涞源县| 长兴县| 巴彦淖尔市| 客服| 连州市| 微博| 理塘县| 康平县| 商丘市| 锡林浩特市| 巴彦淖尔市| 来宾市| 崇礼县| 沂源县|