【问题标题】:Loop through string, remove commas, add to array in PHP遍历字符串,删除逗号,添加到 PHP 中的数组
【发布时间】:2011-08-17 17:25:43
【问题描述】:

我在试图弄清楚这一点时有点卡住了,我想我理解了这些原则,但在执行上有点迷失。假设我们有:

$string = "Blue, Red, Yellow";

这是从数据库中读取的字符串(包括逗号)。基本上我想要做的是将这些词分开并将它们分别存储在一个数组中(更容易使用)。会不会有这样的工作:

$string_parts = explode(",",$string);

就这么简单,还是有更好的办法?

【问题讨论】:

  • 就这么简单。发送print_r( $string_parts ); 以查看结果。

标签: php arrays string


【解决方案1】:

如果您不想在结果数组中包含空格,请在分隔符中添加一个空格:

$string_parts = explode(", ", $string);

请注意,此数据库设计违反了First Normal Form

【讨论】:

    【解决方案2】:

    如果它有效,那么就这么简单。

    【讨论】:

      【解决方案3】:

      我同意

      $string_parts = explode(",",$string);
      

      之后,我会遍历每个元素并修剪掉空白。

      for($i = 0; $i < sizeof($string_parts); $i++)
          $string_parts[$i] = trim($string_parts[$i];
      

      编辑: 我建议不要通过 for 循环和修剪空白,而是

      $string = str_replace(" ", "", $string);
      

      然后分解字符串。

      【讨论】:

      • 如 phihag 所说,最好在分隔符中添加空格。
      • 如果假设数据库字符串部分将始终由逗号和空格分隔,我会同意这一点。在这方面,我的执行时间会更长。但是,如果逗号后不总是有空格(“蓝色,绿色,红色”),我的会起作用。
      • 在这种情况下,最好使用带有可选空白字符的正则表达式拆分
      • 实际上,str_replace 空格,然后爆炸可能更好。
      • 是的,字符串总是包含逗号。我感谢反馈的家伙,应该很好去。
      猜你喜欢
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多