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

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

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

【问题讨论】:

标签: php


【解决方案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']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多