php 字符串截取 substr


substr — 返回字符串的子串

   語法:substr ( string $string , int $start [, int $length ] )

  返回值:返回字符串 stringstartlength 參數指定的子字符串。  或者在失敗時返回 FALSE 。 

 

 

 示例:

<?php


//如果 start 是非負數,返回的字符串將從 string 的 start 位置開始,從 0 開始計算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
echo substr('abcdefg',2);  //cdefg

//如果 start 是負數,返回的字符串將從 string 結尾處向前數第 start 個字符開始。
echo substr('abcdefg',-2); //fg

echo strlen('abcdefg'); //7
//如果 string 的長度小於或等於 start,將返回 FALSE
var_dump(substr('abcdefg',7));     //bool(false)



# 兩個參數
//如果提供了正數的 length,返回的字符串將從 start 處開始最多包括 length 個字符(取決於 string 的長度)。
echo substr('abcdefg',1,2); //bc

//如果提供了負數的 length,那么 string 末尾處的許多字符將會被漏掉(若 start 是負數則從字符串尾部算起)。如果 start 不在這段文本中,那么將返回一個空字符串。
echo  substr('abcdefg',1,-1); //bcdef

echo  substr('abcdefg',-3,-1); //ef

//如果提供了值為 0, FALSE  或 NULL  的 length,那么將返回一個空字符串
var_dump(substr('abcdefg',1,0)); // string(0) ""

//如果沒有提供 length,返回的子字符串將從 start 位置開始直到字符串結尾。
echo substr('abcdefg',1); //bcdefg



#難度
echo substr('a中國g',1);//中國g

echo  strlen('中國你好');//12 utf-8 編碼
echo substr('中國你好',6);//因一個漢字代表3個字節 ->你好

echo substr('中國你好',4);//��你好->亂碼

/*
utf-8如何解決亂碼
mb_substr 根據自漢字字節來截取
*/
echo mb_substr('中國你好',1,3,'UTF-8');//國你好

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM