我尝试过很多不同的事情,但我的所有想法都让我失望了。 在运行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(),">
除了我不希望最后一个逗号。他们是摆脱它的一种方式吗?
答案 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; ?>">