谈谈PHP中substr和substring的正确用法及相关参数的介绍

大家都知道js中字符串截取字符有函数substr和substring,那php呢,php没有直接可用的substring函数,但是有substr函数。
不信自己可以测试一下。 下面给出一段正确的代码。

<?
$a="me";
echo(substr($a,,));//输出me
?>
下面又给出一段错误的代码
<?
$a="me";
echo(subString($a,,));
?>

substr() 函数返回字符串的一部分。

substr(string,start,length)

string:要截取的字符串

start:

正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始

length:

可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回

PHP substr()的用法详解

定义和用法

substr() 函数返回字符串的一部分。使用substr()函数截取中文可能会出现乱码,建议使用mb_substr() 函数截取中文。

语法

substr(string,start,length)

参数 描述
string 必需。规定要返回其中一部分的字符串。
start
必需。规定在字符串的何处开始。

  • 正数 - 在字符串的指定位置开始
  • 负数 - 在从字符串结尾的指定位置开始
  • 0 - 在字符串中的第一个字符处开始
length
可选。规定要返回的字符串长度。默认是直到字符串的结尾。

  • 正数 - 从 start 参数所在的位置返回
  • 负数 - 从字符串末端返回

提示和注释

注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。

例子

<?php
$str = 'hello world!';
echo substr($str, 4); // o world! 左起第4开始向右截取到末尾
echo substr($str, 4, 5); // o wor 左起第4开始向右取5位
echo substr($str, 4, -1); // o world 左起第4与右起第1之间的字符
echo substr($str, -8, 4); // o wo 右起第8开始向右截取4位
echo substr($str, -8,-2); // o worl 右起第8与右起第2之间的字符
?>
(0)

相关推荐

  • PHP中substr_count()函数获取子字符串出现次数的方法

    本文实例讲述了PHP中substr_count()函数获取子字符串出现次数的方法.分享给大家供大家参考,具体如下: PHP中的substr_count()可用于计算指定字符串中子字符串出现的次数. substr_count()函数定义如下: substr_count(string,substring,start,length) 参数说明: string     必需.规定被检查的字符串. substring  必需.规定要搜索的字符串. start      可选.规定在字符串中何处开始搜索.

  • php中strstr、strrchr、substr、stristr四个函数的区别总结

    php中strstr.strrchr.substr.stristr四个函数用法区别: php中strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,常用的是substr,strstr,基本上可以满足对字符串的操作. 下面介绍一下这个几个函数的区别. 一.strstr和strcchr的区别 strstr 显示第一次找到,要查找的字符串,以及后面的字符串. strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串. 复制代码 代码如下: <?php

  • PHP中substr函数字符串截取用法分析

    本文实例讲述了PHP中substr函数字符串截取用法.分享给大家供大家参考,具体如下: PHP中substr函数定义如下: substr(string,start,length) 参数说明如下: string 必需.规定要返回其中一部分的字符串. start  必需.规定在字符串的何处开始. 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始 length 可选.规定被返回字符串的长度.默认是直到字符串的结尾. 正数 - 从 sta

  • php函数之子字符串替换&#65279; str_replace

    str_replace - 子字符串替换 [str_replace]mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )php函数str_replace: 返回一个字符串或者数组.该字符串或数组是将 subject 中全部的 search 都被 replace 替换之后的结果. 现在我们所能知道的一些这个函数的用法,如:str_replace("#", &q

  • php根据指定位置和长度获得子字符串的方法

    本文实例讲述了php根据指定位置和长度获得子字符串的方法.分享给大家供大家参考.具体分析如下: php的substr函数功能非常强大,不断可以从前往后去子字符串还可以从后往前取字符串 <?php $string = "beginning"; print("Position counted from left: ".substr($string,0,5)."\n"); print("Position counted form rig

  • php实现指定字符串中查找子字符串的方法

    本文实例讲述了php实现指定字符串中查找子字符串的方法.分享给大家供大家参考.具体分析如下: 对strpos()函数可以用来在php中查找子字符串.strpos()函数将试图找到子字符串在源字符串中首次出现的位置.如果找到了,它会返回一个非负整数表示子字符串出现的位置. 否则它会返回一个布尔值false. <?php $haystack1 = "2349534134345w3mentor16504381640386488129"; $haystack2 = "w3men

  • php使用substr()和strpos()联合查找字符串中某一特定字符的方法

    本文实例讲述了php使用substr()和strpos()联合查找字符串中某一特定字符的方法.分享给大家供大家参考.具体分析如下: 要求:在下面的字符串中查找双竖线前面的字符,大多数清空下使用explode()函数,但项目过程中使用了太多的explode(),所以找到了下面的方法. <?php $str="admin||46cc468df60c961d8da2326337c7aa58||0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,";

  • php字符串函数学习之substr()

    <?php /* 定义和用法 substr() 函数返回提取的子字符串, 或者在失败时返回 FALSE. 语法 substr(string,start,length) 参数 描述 string 必需.规定要返回其中一部分的字符串. start  必需.规定在字符串的何处开始. 非负数 - 从 string 的 start 位置开始,从 0 开始计算. 负数 - 从 string 结尾处向前数第 start 个字符开始. 如果 string 的长度小于或等于 start,将返回 FALSE. le

  • 谈谈PHP中substr和substring的正确用法及相关参数的介绍

    大家都知道js中字符串截取字符有函数substr和substring,那php呢,php没有直接可用的substring函数,但是有substr函数. 不信自己可以测试一下. 下面给出一段正确的代码. <? $a="me"; echo(substr($a,,));//输出me ?> 下面又给出一段错误的代码 <? $a="me"; echo(subString($a,,)); ?> substr() 函数返回字符串的一部分. substr(s

  • 浅谈Javascript中substr和substring的区别

    由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并不是,且听我一一道来. 1. substr(index, length) 从起始索引号提取字符串中指定数目的字符. substr方法可以传入两个参数 index和length.index是起始位,length是截取的长度. 当index是个非负整数时: a. 如果不传入参数,则得到的还是字符串本身. 如: "abcdefg".substr()

  • 教你怎么解决IDEA中“\t“空格显示不正确的问题

    一.问题描述: 在Java开发的过程中"\t"的作用为补全当前字符串长度到8的整数倍,最少1个最多8个空格,具体要补多少个空格要看"\t"之前字符串长度.例如: 1.当前字符串长度10,那么\t后长度是16,也就是补6个空格. 2.如果当前字符串长度12,此时\t后长度是16,补4个空格. 当前遇到的问题为"\t"补全的长度不是8的整数倍,甚至还出现了补全的长度各不相同的情况 二.原因分析: 重新运行代码.重启电脑好几次都是输出这样的结果,由此推

  • vue3中element-plus icon图标的正确使用姿势

    目录 前言: 改变: 错误使用: 正确使用: setup script扩展 更新 总结 前言: 为了适应vue3的更新,element组件也将其内容升级为了plus用以配套的使用,很多组件新增了更加多元的功能,但我用的时候就觉得那个icon图标,怎么变得特别难用呢?原来是没有掌握正确的使用方法 改变: // 原来 <i class="el-icon-edit"></i> // plus <el-icon :size="size" :co

  • C++中SetConsoleCursorPosition()移动光标函数的用法大全

    SetConsoleCursorPosition()来自于文件"windows.h",使用时记得引用此头文件. 首先说一下,这个函数的功能即是字面意思,即移动命令行中光标的位置.这里要注意的是,每次调用这个函数都是默认从左上角开始偏移,而与当前光标停留的位置无关. 然后我们剖析下这个函数,我们查看定义发现,调用这个函数需要传入两个参数,都是自定义类型,分别为 HANDLE 和 COORD. SetConsoleCursorPosition( _In_ HANDLE hConsoleOu

  • Android Studio3.6中的View Binding初探及用法区别

    参考翻译:https://developer.android.google.cn/topic/libraries/view-binding View Binding是一项功能,使您可以更轻松地编写与视图交互的代码.在模块中启用视图绑定后,它将为该模块中存在的每个XML布局文件生成一个绑定类.绑定类的实例包含对在相应布局中具有ID的所有视图的直接引用.  在大多数情况下,视图绑定替换findViewById. 设置说明 ​ 视图绑定在Android Studio 3.6 Canary 11+中可用

  • JavaScript中reduce()的5个基本用法示例

    前言 reduce()方法可以搞定的东西,for循环,或者forEach方法有时候也可以搞定,那为啥要用reduce()?这个问题,之前我也想过,要说原因还真找不到,唯一能找到的是:通往成功的道路有很多,但是总有一条路是最捷径的,亦或许reduce()逼格更高... 语法 arr.reduce(callback,[initialValue]) reduce()方法对数组中的每一个元素执行一个reducer函数(由你提供),从而得到一个单一的输出值. reduce() 方法将一个数组中的所有元素还

  • MySql中流程控制函数/统计函数/分组查询用法解析

    路漫漫其修远兮,吾将上下而求索,又到了周末,我继续带各位看官学习回顾Mysql知识. 上次说到了流程控制函数,那就从流程控制函数来继续学习吧! #五.流程控制函数 #1.if函数:if else的效果 IF(条件表达式,成立返回1,不成立返回2) #与Java三元运算相同 SELECT IF(10>5,'大','小'); SELECT last_name,commission_pct,IF(commission_pct IS NULL,'没奖金呵呵','有奖金嘻嘻') AS 备注 FROM em

  • python中lower函数实现方法及用法讲解

    之前小编介绍过python中将字符串小写字符转为大写的upper函数的使用方法(upper函数).有将小写转为大写的需要,那也有将大写转为小写的情况.本文主要介绍在python中可以将字符串大写自摸转换为小写字母的lower函数. 1.lower() 转换字符串中所有大写字符为小写 2.语法 str.lower() -> str 3.返回值 返回将字符串中的所有大写字母转换为小写字母的字符串 4.使用实例 #!/usr/bin/python3 str = "ABCDEFG" pr

  • Python中os模块的12种用法总结

    目录 一.先总结,再详谈 二.详谈各种方法的使用 1.getcwd() :返回当前工作目录 2.chdir(path) :改变工作目录 3.listdir(path) :列举指定目录中的文件名和目录名 4.mkdir(path) :创建单层目录 5.makedirs() :递归创建目录 6.remove(path) :删除文件 7.rmdir(path) :删除单层目录 8.removedirs() :递归删除目录 9.system(command) :运行系统的shell命令 10.renam

随机推荐