php 字符串截取 substr
substr — 返回字符串的子串
语法:substr ( string $string , int $start [, int $length ] )
返回值:返回字符串 string 由 start 和 length 参数指定的子字符串。 或者在失败时返回 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');//国你好
了解什么是特征以及如何使用它们的最好方法是观察它们的本质

浙公网安备 33010602011771号