php获取字符串前几位的实例(substr返回字符串的子串用法)


Posted in PHP onMarch 08, 2017

在实际项目应用中,经常遇到使用php获取字符串前几位用来比较、赋值等等。今天给大家分享使用php substr 获取字符串前几位、后几位、指定位的用法。

substr

(PHP 4, PHP 5)

substr — 返回字符串的子串

说明

string substr ( string $string , int $start [, int $length ] )

返回字符串 string 由 start 和 length 参数指定的子字符串。

参数

string

输入字符串。

start

如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。

如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。

如果 string 的长度小于或等于 start,将返回 FALSE。

Example #1 使用负数 start

<?php
$rest = substr(“abcdef”, -1); // 返回 “f”
$rest = substr(“abcdef”, -2); // 返回 “ef”
$rest = substr(“abcdef”, -3, 1); // 返回 “d”
?>

length

如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。

如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。如果 start 不在这段文本中,那么将返回一个空字符串。

如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。

如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾。

Example #2 使用负数 length

<?php
$rest = substr(“abcdef”, 0, -1); // 返回 “abcde”
$rest = substr(“abcdef”, 2, -1); // 返回 “cde”
$rest = substr(“abcdef”, 4, -4); // 返回 “”
$rest = substr(“abcdef”, -3, -1); // 返回 “de”
?>

返回值

返回提取的子字符串, 或者在失败时返回 FALSE。

更新日志版本说明

5.2.2 ? 5.2.6 If the start parameter indicates the position of a negative truncation or beyond, false is returned. Other versions get the string from start.

范例

Example #3 substr() 基本用法

<?php
echo substr(‘abcdef', 1); // bcdef
echo substr(‘abcdef', 1, 3); // bcd
echo substr(‘abcdef', 0, 4); // abcd
echo substr(‘abcdef', 0, 8); // abcdef
echo substr(‘abcdef', -1, 1); // f

// 访问字符串中的单个字符
// 也可以使用中括号
$string = ‘abcdef';
echo $string[0]; // a
echo $string[3]; // d
echo $string[strlen($string)-1]; // f
?>

Example #4 substr() casting behaviour

<?php
class apple {
public function __toString() {
return “green”;
}
}

echo “1) “.var_export(substr(“pear”, 0, 2), true).PHP_EOL;
echo “2) “.var_export(substr(54321, 0, 2), true).PHP_EOL;
echo “3) “.var_export(substr(new apple(), 0, 2), true).PHP_EOL;
echo “4) “.var_export(substr(true, 0, 1), true).PHP_EOL;
echo “5) “.var_export(substr(false, 0, 1), true).PHP_EOL;
echo “6) “.var_export(substr(“”, 0, 1), true).PHP_EOL;
echo “7) “.var_export(substr(1.2e3, 0, 4), true).PHP_EOL;
?>

以上例程会输出:

1) ‘pe'
2) '54'
3) ‘gr'
4) ‘1'
5) false
6) false
7) ‘1200'

错误/异常

错误时返回 FALSE。

<?php
var_dump(substr(‘a', 1)); // bool(false)
?>

以上这篇php获取字符串前几位的实例(substr返回字符串的子串用法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
php array_flip() 删除数组重复元素
Jan 14 PHP
页面乱码问题的根源及其分析
Aug 09 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
php实现头像上传预览功能
Apr 27 PHP
PHP递归算法的简单实例
Feb 28 PHP
PHP创建对象的六种方式实例总结
Jun 27 PHP
php文件后缀不强制为.php的实操方法
Sep 18 PHP
php DES加密算法实例分析
Sep 18 PHP
php使用json-schema模块实现json校验示例
Sep 28 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 PHP
通过PHP实现获取访问用户IP
May 09 PHP
php 截取GBK文档某个位置开始的n个字符方法
Mar 08 #PHP
php封装json通信接口详解及实例
Mar 07 #PHP
PHP获取真实客户端的真实IP
Mar 07 #PHP
php实现简单加入购物车功能
Mar 07 #PHP
mac os快速切换多个PHP版本的方法
Mar 07 #PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 #PHP
PHP实现添加购物车功能
Mar 06 #PHP
You might like
Zerg建筑一览
2020/03/14 星际争霸
YII2框架使用控制台命令的方法分析
2020/03/18 PHP
纯js实现的论坛常用的运行代码的效果
2008/07/15 Javascript
js正确获取元素样式详解
2009/08/07 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
js获取ajax返回值代码
2014/04/30 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
JavaScript中的Reflect对象详解(ES6新特性)
2016/07/22 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python中__name__的使用实例
2015/04/14 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
python实现Dijkstra静态寻路算法
2019/01/17 Python
Python math库 ln(x)运算的实现及原理
2019/07/17 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python类继承和多态原理解析
2020/02/05 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
Keras—embedding嵌入层的用法详解
2020/06/10 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
使用phonegap播放音频的实现方法
2017/03/31 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
ellesse美国官方商店:意大利高级运动服品牌
2019/10/29 全球购物
SQL中where和having的区别
2012/06/17 面试题
瀑布模型都有哪些优缺点
2014/06/23 面试题
党员干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
忠诚教育学习心得体会
2016/01/23 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
mysql insert 存在即不插入语法说明
2022/03/25 MySQL
vue使用watch监听属性变化
2022/04/30 Vue.js