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学习之PHP表达式
Oct 09 PHP
几个学习PHP的网址
Nov 25 PHP
使用PHP的日期与时间函数技巧
Apr 24 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
Windows下的PHP安装pear教程
Oct 24 PHP
推荐5款跨平台的PHP编辑器
Dec 25 PHP
php输出全球各个时区列表的方法
Mar 31 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
PHP单链表的实现代码
Jul 05 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 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学习 函数 课件
2008/06/15 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
PHP实现ASCII码与字符串相互转换的方法
2017/04/29 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
php中html_entity_decode实现HTML实体转义
2018/06/13 PHP
jquery对表单操作2
2011/04/06 Javascript
js如何设置在iframe框架中指定div不显示
2013/12/04 Javascript
网页禁用右键菜单和鼠标拖动选择方法小结
2015/02/25 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
2017/07/17 Javascript
利用JS如何计算字符串所占字节数示例代码
2017/09/13 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
你应该知道的python列表去重方法
2017/01/17 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
tensorflow 实现打印pb模型的所有节点
2020/01/23 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
基于PyTorch的permute和reshape/view的区别介绍
2020/06/18 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
美国在线购买和出售礼品卡网站:EJ Gift Cards
2019/06/09 全球购物
小学生自我鉴定
2013/10/12 职场文书
教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2015年元旦主持词开场白
2014/12/14 职场文书
自我工作评价范文
2015/03/06 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
预备党员考察表党小组意见
2015/06/01 职场文书
会计专业自荐信范文
2019/05/22 职场文书