【问题标题】:PHP Add comma to every item but last onePHP 为除最后一项以外的每一项添加逗号
【发布时间】:2011-07-23 08:52:27
【问题描述】:

我有一个类似的循环

foreach ($_GET as $name => $value) {
    echo "$value\n";
}

我想在每个项目之间添加一个逗号,这样它就会像这样结束。

var1, var2, var3

由于我使用的是foreach,所以我无法确定我的迭代次数。

我该怎么做?

【问题讨论】:

  • 不行吗?您可以手动将计数器添加到您的代码中。
  • 那么他的结果不应该是name: var1, name: var2, name: var3吗?
  • 抱歉我的疏忽,我没有仔细看我的 sn-p。

标签: php csv for-loop


【解决方案1】:

只需使用您的 foreach 构建您的输出,然后将该数组内爆并输出结果:

$out = array();
foreach ($_GET as $name => $value) {
    array_push($out, "$name: $value");
}
echo implode(', ', $out);

【讨论】:

  • @Fr0zenFyr,您的阵列需要非常大才能对性能产生影响,真的。如果您有如此庞大的数组,为什么要使用逗号分隔的项目字符串?这一切都取决于上下文,这里。在美妙的编码世界中,没有万能的神奇解决方案。如果this对您来说不是一个可行的解决方案,我邀请您提出一个相关问题,描述您的确切问题。
  • 我真的没有这个问题,如果有人想建立一个CSV,我只是在检查大型数组的可能性,比方说。
  • @Fr0zenFyr,对于 CSV,您可以使用 fputcsv,并结合使用 array_keysarray_values... 如果您担心大型数组,那么也许你的方法是错误的:) 最重要的是,当真正的问题出现时,我们不要进行猜测并提出问题。否则,我们将永远不会停止谈论用例异常。干杯!
【解决方案2】:

像这样:

$total = count($_GET);
$i=0;
foreach ($_GET as $name => $value) {
    $i++;
    echo "$name: $value";
    if ($i != $total) echo', ';
}

解释:你可以通过 count() 找到所有值的总数。运行 foreach() 循环时,您计算迭代次数。在循环内部,当迭代不是最后一次(不等于所有值的总数)时,您告诉它回显“,”。

【讨论】:

    【解决方案3】:
    $comma_separated = implode(", ", $_GET);
    
    echo $comma_separated;
    

    你可以使用 implode 来实现它

    【讨论】:

    • 以为他只是想要价值观
    【解决方案4】:

    你也可以这样做:

    $output = '';
    foreach ($_GET as $name => $value) {
        $output = $output."$name: $value, ";
    }
    $output = substr($output, 0, -2);
    

    这只会产生一个可以输出的巨大字符串。不同的风格,不同的方法,真的。

    【讨论】:

      【解决方案5】:

      对不起,我没有正确地陈述我的问题。 对我有用的遮阳篷是

      implode(', ', $_GET);
      

      谢谢,乔达梅里奥

      【讨论】:

      • 哇,你才 14 岁。兄弟,继续努力吧。
      • @kjy112 谢谢我一定会的。编程很棒:)
      【解决方案6】:

      我通常会做这样的事情(伪代码):

      myVar
      
      for... {
          myVar = i + ","
      }
      
      myVar = trimOffLastCharacter(myVar)
      
      echo myVar
      

      【讨论】:

        猜你喜欢
        • 2016-05-03
        • 2011-06-10
        • 2016-08-13
        • 2017-07-10
        • 2012-12-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多