php删除字符串最后一位
一、前言
从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串。
常见的语法格式:
foreach ($arr as $key => $value) {
$arr_str = $arr['x_id'] . ',' . $arr_str;
}
假设字符数组 $arr 中的字符分别为
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';
则,拼接后的 $arr_str 字符串为 a,b,c, 这个时候,就需要我们对最后一位字符','进行删除处理。
二、PHP中删除最后一位字符的方法总结:
方法一:
substr($arr_str,0,strlen($arr_str)-1);
详解:substr()函数语法:string substr ( string $string , int $start [, int $length ] )
strlen()函数语法:int strlen ( string $string )
本例原理:
首先使用strlen()函数判断字符串$arr_str的长度,然后使用substr()函数对$arr_str进行截取,截取至$arr_str的倒数第二位。这样就把最后的","去掉了。
使用感受:
不推荐,php中还有更简洁更好用的方式!
方法二:
substr($arr_str, 0, -1)
详解:直接使用substr()函数倒序裁掉最后一位字符;
使用感受:还是很合适的~~不过,首先你要确定字符串中一定有内容,且最后一位一定不要!
方法三:
rtrim($arr_str, ",")
详解:rtrim()函数语法:string rtrim ( string $str [, string $character_mask ] )
rtrim — 删除字符串末端的空白字符(或者其他字符)
使用感受:
简直就是为了这个需求准备的!
注意:以上方法对字符串进行操作后,返回操作结果,并不对字符串本身进行改变!记得使用一个变量进行接收结果!
三、总结
以上就是PHP删除字符串最后一个字符的几种方法总结,大家都学会了吗?希望这篇文章对大家的学习或者工作能带来一定的帮助。
来自:https://blog.csdn.net/qq_22823581/article/details/77944272
php删除字符串最后一位的更多相关文章
- EXCEL-REPLACE()替换字符串最后几位 删除字符串最后几位
字符串 0M5(烈焰红) 我要删除最后一个字符")" 公式=REPLACE(ASC(字符串),LEN(ASC(字符串)),1,"") 解释:=REPLAC ...
- PHP程序中删除字符串最后一个字符的三种方法
常见的语法格式: foreach ($arr as $key => $value) {$arr_str = $arr['x_id'] . ',' . $arr_str;} 假设字符数组 $arr ...
- 总结PHP删除字符串最后一个字符的三种方法
一.前言 从数据库中select()读取一对多的信息时,经常需要将取出的数组用某个特定的字符分割,然后拼接成字符串. 常见的语法格式: foreach ($arr as $key => $val ...
- C# 删除字符串中的中文
/// <summary> /// 删除字符串中的中文 /// </summary> public static string Delete中文(string str) { s ...
- Python模拟删除字符串两边的空白
目标: 1.使用string模块的whitespace 2.删除左边.右边以及两边的空白 代码如下: [root@localhost python]# cat rmspace.py #!/usr/bi ...
- PAT 10-2 删除字符串中的子串
今天发一个不完全对(通过garbageMan园友的帮忙,现已全对)的代码,(/*后两用例未通过,一时看不出问题在哪,*/)切入正题 /* Name: Copyright: Author: Date: ...
- 删除字符串第一个byte
删除字符串第一个byte 一种方式: char * mag; char buff[1000]; char number; memcpy((char *)msg,buff,len); strnc ...
- PAT 字符串-02 删除字符串中的子串
/* 2 *PAT 字符串-02 删除字符串中的子串 3 *2015-08-09 4 作者:flx413 5 */ #include<stdio.h> #include<string ...
- JS中删除字符串中的空格
问题描述: 在进行字符串操作时,由于字符串中存在较多的空格,因此需要考虑取消字符串中的空格 问题解决: (1)删除字符串中的前导空格(字符串的前面的空格): 注意:这里使用 ...
随机推荐
- docker nginx 运行后无法访问
## 1 最近在学docker部署,一开始打算将nginx先docker化的. 对照官方的docker镜像介绍说明,进行自定义配置 将官方的nginx.conf复制出来后,修改添加了一些自定义,主要是 ...
- Spring Cloud Eureka Server使用(注册中心)
一.Spring Cloud Eureka 基于Netflix Eureka做了二次封装 由两个组件组成 Eureka Server 注册中心, 供服务注册的服务器 Eureka Client 服务注 ...
- Myeclipse 配置Git详解
Myeclipse+Git EGit安装 MyEclipse已经集成了Git插件EGit,在window->Preference里搜索git可以看到. 如果没有,安装方式为Help-> ...
- DeviceIoControl函数对应的四种数据交换方式
交换方式 输入缓冲区 输出缓冲区 METHOD_BUFFE ...
- Spring Boot基础知识
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...
- Xilinx AXI总线学习(1)
Xilinx AXI总线学习 1. AXI GPIO 采用的是AXI4-Lite接口 AXI GPIO Block Diagram Block design: 端口描述: AXI GPIO核有哪些寄存 ...
- Delphi实现菜单项上出现提示
type TMenuHintWindow = class(THintWindow) private FTimerShow: TTimer; FTimerHide: TTimer; procedure ...
- TensorFlow Saver的使用方法
我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试.Tensorflow针对这一需求提供了Saver类. Saver类提供了向checkpoint ...
- InfluxDB 1.6文档
警告!此页面记录了不再积极开发的InfluxDB的早期版本.InfluxDB v1.7是InfluxDB的最新稳定版本. InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载.它是TICK堆 ...
- 使用C#调用PI-SDK进行基于PI的开发
一.概述 PI-SDK(Plant Information Software Develop Kit)是OSI公司提供的基于面向对象的访问PI数据库的软件开发工具包,它可以对以下数据库进行读写: ² ...