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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
PHP分页显示制作详细讲解
Oct 09 PHP
PHP产生随机字符串函数
Dec 06 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
Oct 17 PHP
php中array_unshift()修改数组key注意事项分析
May 16 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
详解PHP中的序列化、反序列化操作
Mar 21 PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 PHP
PHP基于进程控制函数实现多线程
Dec 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
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
php全排列递归算法代码
2012/10/09 PHP
PHP PDOStatement::bindParam讲解
2019/01/30 PHP
php intval函数用法总结
2019/04/14 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
jquery Ajax 全局调用封装实例详解
2017/01/16 Javascript
JS出现失效的情况总结
2017/01/20 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
2017/10/24 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
Python脚本实现下载合并SAE日志
2015/02/10 Python
python绘制简单折线图代码示例
2017/12/19 Python
python批量替换页眉页脚实例代码
2018/01/22 Python
python通过伪装头部数据抵抗反爬虫的实例
2018/05/07 Python
Python单元测试简单示例
2018/07/03 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
Python气泡提示与标签的实现
2020/04/01 Python
Django多层嵌套ManyToMany字段ORM操作详解
2020/05/19 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
介绍一下write命令
2012/09/24 面试题
python+selenium小米商城红米K40手机自动抢购的示例代码
2021/03/24 Python
学年自我鉴定范文
2013/10/01 职场文书
机电一体化职业规划书
2014/01/07 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
《进击的巨人》新联动CM 兵长强势出击兽巨人
2022/04/05 日漫
Win10本地连接不见了怎么恢复? win10系统电脑本地连接不见了解决方法
2023/01/09 数码科技