从字符串中删除最后一个字符

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); 

【讨论】:

以上是关于从字符串中删除最后一个字符的主要内容,如果未能解决你的问题,请参考以下文章

从字符串中删除最后一个字符。斯威夫特语言

如何从字符串中删除最后一个字符

从字符串中删除最后一个字符

无法从字符串中删除最后一个字符

php如何从php中的字符串中删除最后一个字符[重复]

从循环中生成的字符串中删除最后一个字符