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