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 相关文章推荐
PHP调用三种数据库的方法(2)
Oct 09 PHP
php中看实例学正则表达式
Dec 25 PHP
一个捕获函数输出的函数
Feb 14 PHP
PHP读取MySQL数据代码
Jun 05 PHP
坏狼的PHP学习教程之第1天
Jun 15 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
php中mt_rand()随机数函数用法
Nov 24 PHP
PHP读取汉字的点阵数据
Jun 22 PHP
详解PHP swoole process的使用方法
Aug 26 PHP
php实现支持中文的文件下载功能示例
Aug 30 PHP
PHP+jQuery实现即点即改功能示例
Feb 21 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
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
Extjs 几个方法的讨论
2010/01/28 Javascript
在Python中使用glob模块查找文件路径的方法
2015/06/17 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
web前端vue filter 过滤器
2018/01/12 Javascript
three.js 入门案例详解
2018/01/23 Javascript
详解vue-cli3开发Chrome插件实践
2019/05/29 Javascript
layui问题之渲染数据表格时,仅出现10条数据的解决方法
2019/09/12 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
[02:25]DOTA2英雄基础教程 熊战士
2014/01/03 DOTA
Python open()文件处理使用介绍
2014/11/30 Python
Python pickle模块用法实例分析
2015/05/27 Python
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
使用相同的Apache实例来运行Django和Media文件
2015/07/22 Python
python微信公众号之关键词自动回复
2018/06/15 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
python3.7实现云之讯、聚合短信平台的短信发送功能
2019/09/26 Python
pandas将多个dataframe以多个sheet的形式保存到一个excel文件中
2019/10/10 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
css3和jquery实现自定义checkbox和radiobox组件
2014/04/22 HTML / CSS
大学生实习自我鉴定
2013/12/11 职场文书
工会换届选举方案
2014/05/21 职场文书
毕业实习单位意见
2015/06/04 职场文书
校长新学期致辞
2015/07/30 职场文书
初一数学教学反思
2016/02/17 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python