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

Get rid of last comma using PHP or Javascript

我尝试过很多不同的事情来做到这一点,我所有的想法都让我失望了。在运行while循环之后,如何去掉最后一个逗号?

1
2
3
4
5
<body onloadx="
    <?php while($row = mysql_fetch_assoc($thing3)): ?>
        checkEdits_<?php echo $row['directory_name']; ?>(),
    <?php endwhile; ?>
">

它在结尾添加最后一个逗号,这会破坏整个脚本。

php while(loop)在通过dom运行时将其输出:

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

但我不想最后一个逗号在末尾。他们有办法摆脱它吗?


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

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


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

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


或者您可以使用:

1
2
3
4
5
<body onloadx="function() {
    <?php while($row = mysql_fetch_assoc($thing3)) { ?>
        checkEdits_<?php echo $row['directory_name']; ?>();
    <?php } ?>
}"
>


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


rtrim去掉最后一个逗号。我会这样重写:

1
2
3
4
5
6
7
8
9
<?php
$onload ="";
while($row = mysql_fetch_assoc($thing3)) {
    $onload .="checkEdits_" . $row['directory_name'] .",";
}
$onload = rtrim($onload, ', ');
?>

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