这是我的while循环。
$getsongs = mysql_query("SELECT * FROM hth_songs WHERE album='$album'");
while($song = mysql_fetch_array($getsongs)){
?>
{ title:"<?php echo $song[title]; ?>" },
<?php } ?>
问题是我总是需要一个&#34;,&#34;在我的回声结束时。但如果它是最后一项我不想要&#34;,&#34;最后。
我查了一下,我需要做这样的事情,但我不能让它发挥作用,不知道该如何处理。
$i = 0;
$len = count($array);
foreach ($array as $item) {
if ($i == 0) {
{ title:"<?php echo $song[title]; ?>" }, // first
} else if ($i == $len - 1) {
{ title:"<?php echo $song[title]; ?>" } // last
}
{ title:"<?php echo $song[title]; ?>" }, // …
$i++;
}
(我在&lt; script&gt;里面运行这个php片段,这就是为什么我需要一个&#34;,&#34;最后激活最后一项)
任何帮助都会很受欢迎。
答案 0 :(得分:1)
从数组中的值获取逗号描述字符串的最简单方法是使用implode()。
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone
请注意,没有逗号,因为逗号是将值组合在一起的“粘合剂”。
答案 1 :(得分:1)
您似乎错过了其他人的&#39;在你的代码中:
$i = 0;
$len = count($array);
foreach ($array as $item) {
if ($i == 0) {
{ title:"<?php echo $song[title]; ?>" }, // first
} else if ($i == $len - 1) {
{ title:"<?php echo $song[title]; ?>" } // last
}
else
{ title:"<?php echo $song[title]; ?>" }, // …
$i++;
}
答案 2 :(得分:1)
你似乎有太多的头衔。试试这个:
$i = 0;
$len = count($array);
foreach ($array as $item) {
$i++;
if ($i == $len) {
{ title:"<?php echo $song[title]; ?>" } // last
} else {
{ title:"<?php echo $song[title]; ?>" }, // others
}
}
答案 3 :(得分:0)
你的代码没有意义,$ song设置在哪里?为什么在if块中有额外的花括号?
假设您可以根据自己的情况调整:
$string = '';
foreach ($array as $item) {
$string .= $item['song'] . ',';
}
echo rtrim($string, ',');