从字符串中删除最后一个字符
Posted
技术标签:
【中文标题】从字符串中删除最后一个字符【英文标题】:Remove last character from a string 【发布时间】:2013-08-18 16:15:35 【问题描述】:我有一个国家/地区列表作为一个数组.. 我希望这个数组采用以下格式稍后通过 ajax 返回它:-
“印度”、“美国”、“英国”..
使用下面的代码得到了一些我正在寻找的东西..
foreach($country_list as $country)
$countries .= '"'.$country['label'].'",';
问题是它给出的输出类似于 "india","usa","uk", ... 即带有尾随逗号。
试图删除它
substr_replace($countries, "0", -1);
和
rtrim($countries, ",");
但是没有用! ..请帮忙!
【问题讨论】:
为什么不使用内爆功能?完全符合您的需要,还删除了尾随的“逗号” ***.com/questions/5592994/… @zewa666 这是一个关联数组:$country['label']
。
$countries
是数组还是字符串??
rtrim
应该有效!
【参考方案1】:
我认为您缺少在修剪后重新分配变量:
$s = '"india","usa","uk",';
$s = rtrim($s, ',');
// prints "india","usa","uk"
print $s;
演示
Try before buy
【讨论】:
【参考方案2】:试试这个substr()
或mb_substr()
substr($string, 0, -1);
mb_substr($string, 0, -1);
或查看link
【讨论】:
查看此链接。 ***.com/questions/5592994/…【参考方案3】:您是否尝试过使用:str_replace(",", " ", $countries);
这个函数应该用空格替换每个出现的逗号。
【讨论】:
为什么要换成空格? 我不想只在字符串末尾出现逗号。不想省略所有逗号【参考方案4】:if (strlen($b) > 1)
$b = substr($b,0, -1);
【讨论】:
【参考方案5】:试试这个
$countries = [];
foreach($country_list as $country)
$countries[] = $country['label'];
$new_array = implode(",", $countries);
【讨论】:
【参考方案6】:改用implode
:
$arr = array();
foreach($country_list as $country)
array_push($arr, $country['label']);
$comma_separated = implode(",", $arr);
【讨论】:
这个输出像 india,usa,uk 我需要的是 "india","usa","uk" 不过谢谢【参考方案7】:试试这个
-
创建一个变量 ($comsep) 并将其初始化为一个空字符串。
在 foreach 循环中,将变量 ($comsep) 连接到字符串的开头。
在 foreach 循环中添加一个额外的语句,将变量 ($comsep) 设置为值 "," - 在连接语句之后。
这将在每个附加字符串的开头添加一个逗号,第一个字符串除外。 the 不再是要处理的尾随逗号,因此无需尝试将其修剪掉。
【讨论】:
【参考方案8】:// 尝试在php中使用chop()函数。它有助于从字符串中删除最后一个字符
<?php
echo '<br>' .$country_name = "'USA','UK','India',";
echo '<br>' .chop($country_name,",");
exit;
?>
输出:'USA','UK','India'
【讨论】:
【参考方案9】:foreach($country_list as $country)
$countries[] = $country['label'];
json_encode($countries);
【讨论】:
以上是关于从字符串中删除最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章