使用PHP或Javascript删除最后一个逗号

时间:2012-08-18 22:18:32

标签: php javascript jquery html5

我尝试过很多不同的事情,但我的所有想法都让我失望了。 在运行while循环后如何摆脱最后一个逗号?

<body onload="
    <?php while($row = mysql_fetch_assoc($thing3)): ?>
        checkEdits_<?php echo $row['directory_name']; ?>(),
    <?php endwhile; ?>
">

它在最后添加了最后一个逗号,它破坏了整个脚本。

php while(循环)在浏览dom时将其输出:

<body onLoad="checkEdits_juk(), checkEdits_HTML(), checkEdits_JAVASCRIPT(), checkEdits_JQUERY(),">

除了我不希望最后一个逗号。他们是摆脱它的一种方式吗?

5 个答案:

答案 0 :(得分:7)

您可以将数据放入数组并使用implode函数

  $directory_names = array();
  while($row = mysql_fetch_assoc($thing3)) {
    $directory_names[] = $row['directory_name'];
  }
  echo implode(', ', $directory_names);

答案 1 :(得分:3)

substr($yourString, 0, strlen($yourString) - 1);

返回字符串的子字符串,其中包含从第0个索引到最后一个位置的所有内容。

答案 2 :(得分:1)

使用您的MYSQL行数组,使用php的join函数(implode)http://php.net/manual/en/function.join.php

答案 3 :(得分:1)

或者您可以使用:

<body onload="function() {
    <?php while($row = mysql_fetch_assoc($thing3)) { ?>
        checkEdits_<?php echo $row['directory_name']; ?>(); 
    <?php } ?>
}">

答案 4 :(得分:0)

使用rtrim取消最后一个逗号。我会像这样重写:

<?php 
$onload = "";
while($row = mysql_fetch_assoc($thing3)) {
    $onload .= "checkEdits_" . $row['directory_name'] . ", ";
}
$onload = rtrim($onload, ', ');
?>

<body onload="<?php echo $onload; ?>">