0

我尝试了许多不同的方法来做到这一点,但我所有的想法都失败了。运行此while循环后如何摆脱最后一个逗号?

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

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

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

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

除了我不想要最后一个逗号。他们是摆脱它的方法吗?

4

5 回答 5

7

你可以把你的数据放在一个数组中并使用这个implode函数

  $directory_names = array();
  while($row = mysql_fetch_assoc($thing3)) {
    $directory_names[] = $row['directory_name'];
  }
  echo implode(', ', $directory_names);
于 2012-08-18T22:21:10.463 回答
3
substr($yourString, 0, strlen($yourString) - 1);

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

于 2012-08-18T22:21:12.067 回答
1

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

于 2012-08-18T22:22:47.847 回答
1

或者您可以使用:

<body onload="function() {
    <?php while($row = mysql_fetch_assoc($thing3)) { ?>
        checkEdits_<?php echo $row['directory_name']; ?>(); 
    <?php } ?>
}">
于 2012-08-18T22:23:44.580 回答
0

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

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

<body onload="<?php echo $onload; ?>">
于 2012-08-18T22:24:19.540 回答