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+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
php实现读取手机客户端浏览器的类
Jan 09 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
php利用smtp类实现电子邮件发送
Oct 30 PHP
PHP加密解密实例分析
Dec 25 PHP
php获取远程图片并下载保存到本地的方法分析
Oct 08 PHP
老生常谈PHP数组函数array_merge(必看篇)
May 25 PHP
PHP多进程编程实例详解
Jul 19 PHP
分享5个非常有用的Laravel Blade指令
May 30 PHP
PHP优化之批量操作MySQL实例分析
Apr 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
社区(php&amp;&amp;mysql)三
2006/10/09 PHP
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
让PHP支持断点续传的源码
2010/05/16 PHP
php定义一个参数带有默认值的函数实例分析
2015/03/16 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
ExtJS4给Combobox设置列表中的默认值示例
2014/05/02 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
jQuery实现一个简单的轮播图
2017/02/19 Javascript
JS组件系列之JS组件封装过程详解
2017/04/28 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
原生JS实现的简单小钟表功能示例
2018/08/30 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
让 python 命令行也可以自动补全
2014/11/30 Python
Python中的FTP通信模块ftplib的用法整理
2016/07/08 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
python获取时间及时间格式转换问题实例代码详解
2018/12/06 Python
Python秒算24点实现及原理详解
2019/07/29 Python
Python3标准库之threading进程中管理并发操作方法
2020/03/30 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
半年思想汇报
2013/12/30 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
观看信仰心得体会
2014/09/04 职场文书
车贷收入证明范本
2014/09/14 职场文书
员工考勤管理制度
2015/08/06 职场文书
MySQL Router的安装部署
2021/04/24 MySQL
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android