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代码
Sep 10 PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 PHP
php笔记之:有规律大文件的读取与写入的分析
Apr 26 PHP
php分页函数示例代码分享
Feb 24 PHP
php socket实现的聊天室代码分享
Aug 16 PHP
php下pdo的mysql事务处理用法实例
Dec 27 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
php实现表单多按钮提交action的处理方法
Oct 24 PHP
php实现和c#一致的DES加密解密实例
Jul 24 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
PHP 实现文件压缩解压操作的方法
Jun 14 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 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
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
图文详解phpstorm配置Xdebug进行调试PHP教程
2016/06/13 PHP
PHP中的访问修饰符简单比较
2019/02/02 PHP
Javascript 学习笔记 错误处理
2009/07/30 Javascript
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
AngularJS自动表单验证
2016/02/01 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
bootstrapValidator表单验证插件学习
2016/12/30 Javascript
jQuery验证表单格式的使用方法
2017/01/10 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
基于vue2.0实现的级联选择器
2017/06/09 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
解决vue中对象属性改变视图不更新的问题
2018/02/23 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
2021/01/13 Vue.js
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
2018/06/11 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
python使用配置文件过程详解
2019/12/28 Python
python网络编程之五子棋游戏
2020/05/14 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
python中altair可视化库实例用法
2021/01/26 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
转让协议书范本
2014/09/13 职场文书
80后婚前协议书范本
2014/10/24 职场文书
活动总结模板大全
2015/05/11 职场文书
警示教育片观后感
2015/06/17 职场文书