在php中使用explode方法后如何去掉逗号[重复]

Posted

技术标签:

【中文标题】在php中使用explode方法后如何去掉逗号[重复]【英文标题】:How to git rid of a comma after using the explode method in php [duplicate] 【发布时间】:2013-09-10 22:48:27 【问题描述】:

我想要做的就是从字符串中获取第一个单词,它确实有效,但是我如何也摆脱逗号,现在我正在获取名称,我希望它只显示名称后面没有逗号或字符。

    <?php $pet_name = $pet->pet_name(); $arr = explode(' ',trim($pet_name));?>
    <h1><?= $arr[0] ?></h1>

【问题讨论】:

***.com/questions/5592994/… 【参考方案1】:
$name = str_replace(',','',$arr[0]);

str_replace 用于将逗号替换为空

【讨论】:

【参考方案2】:

我看到了两种方法。

第一种方式。我建议的方式:

rtrim($arr[0], ',');

第二种方式。这样做的问题是,如果最后一个字符不是逗号,它也会删除它:

substr($arr[0], 0, strlen($arr[0]) - 1);

【讨论】:

@Salim 我知道,这就是我在描述中添加文字的原因。但是,如果您有 120% 的把握,它的末尾总是一个逗号(比如预先创建的字符串或其他什么,它会更快。 @Salim 如果没有逗号,如果出现意外怎么办?那家伙清楚地说有一个逗号 是的 - 会比正则表达式和 rtrim 更快,我向你保证。如果您 200% 确定结尾总是有一个逗号,那么这就是要走的路。【参考方案3】:

preg_split 在这里可能比explode 更有帮助:

<?php 
    $pet_name = $pet->pet_name(); 
    $arr = preg_split('/[ ,]/', $pet_name, null, PREG_SPLIT_NO_EMPTY);
?>

这将在拆分名称时将任何空格和逗号序列视为分隔符。

explode(' ', 'Smith, John'); // ['Smith,', 'John']
explode(' ', 'Smith,John'); // ['Smith,John']
preg_split('/[ ,]/', 'Smith, John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']
preg_split('/[ ,]/', 'Smith,John', null, PREG_SPLIT_NO_EMPTY); // ['Smith', 'John']

【讨论】:

以上是关于在php中使用explode方法后如何去掉逗号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

JAVA编程有一个小数,如何去掉小数部分?

【php】合并多个数组并去掉相同的

去掉字符串最后一个逗号,并按逗号分隔插入数据

Mysql 数据字段值是用逗号隔开,如何写SQL语句

R CITATION 文件:在最后一个条目后去掉逗号?

php两种导出excel的方法