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 fgetcsv取得的数组元素为空字符串的解决方法
Nov 25 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP的5个安全措施小结
Jul 17 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
PHP循环结构实例讲解
Feb 10 PHP
php生成QRcode实例
Sep 22 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
php实现两表合并成新表并且有序排列的方法
Dec 05 PHP
PHP中创建和验证哈希的简单方法实探
Jul 06 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 PHP
php array 转json及java 转换 json数据格式操作示例
Nov 13 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
php判断是否为json格式的方法
2014/03/04 PHP
php面向对象中的魔术方法中文说明
2014/03/04 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
ExtJS PropertyGrid中使用Combobox选择值问题
2010/06/13 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
基于Jquery的开发个代阴影的对话框效果代码
2011/07/28 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
jQuery固定元素插件scrolltofixed使用指南
2015/04/21 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
nodejs项目windows下开机自启动的方法
2017/11/22 NodeJs
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
js实现简单模态框实例
2018/11/16 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[41:08]TNC vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
django反向解析URL和URL命名空间的方法
2018/06/05 Python
Python 的AES加密与解密实现
2019/07/09 Python
python之随机数函数的实现示例
2020/12/30 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
蛋白质世界:Protein World
2017/11/23 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
路政管理毕业自荐书范文
2014/02/10 职场文书
大专生求职信
2014/06/29 职场文书
摘录式读书笔记
2015/07/01 职场文书