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 相关文章推荐
第三节--定义一个类
Nov 16 PHP
php $_SERVER当前完整url的写法
Nov 12 PHP
解析PHP生成静态html文件的三种方法
Jun 18 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
PHP中new static()与new self()的比较
Aug 19 PHP
php array_slice 取出数组中的一段序列实例
Nov 04 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 PHP
PHP日期和时间函数的使用示例详解
Aug 06 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
Feb 26 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防止form重复提交的方法
2013/07/01 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
php生成图片验证码的方法
2016/04/15 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
JavaScript数值千分位格式化的两种简单实现方法
2016/08/01 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
基于vue写一个全局Message组件的实现
2019/08/15 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
python 读写中文json的实例详解
2017/10/29 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
Python、 Pycharm、Django安装详细教程(图文)
2019/04/12 Python
一篇文章弄懂Python中所有数组数据类型
2019/06/23 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
不同浏览器对CSS3和HTML5的支持状况
2009/10/31 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
25岁生日感言
2014/01/13 职场文书
如何写股份合作协议书
2014/09/11 职场文书
查摆剖析材料范文
2014/09/30 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
golang日志包logger的用法详解
2021/05/05 Golang