目前,我正在处理soundcloud的api,它正在返回类似的内容。
0. HotBox Michael da Vinci Prod Free P.mp3
https://api.soundcloud.com/tracks/373337717/stream?client_id=OURID
1. LSSR Chris P Prod Jake Knight.mp3
https://api.soundcloud.com/tracks/373336760/stream?client_id=OURID
它的工作方式与代码的显示方式相同,这里是我打印结果的方式(非常混乱,但我只是在胡闹)
for ($i = 0; isset($house[$i]); $i++) {
$b1 = $house[$i]['title'];
$b2 = $house[$i]['stream_url'];
print '<br>'; print '<br>';
$title = preg_replace('/[^a-zA-Z0-9\s]/', '', strip_tags($b1));
print ''.$i.'. '.$title.'.mp3';
print '<br>';
print $stream = ''.$b2.'?client_id=OURID';
}
现在我想知道的是,在任何情况下,我们如何使
0.
返回为1.
并继续向上计数,直到到达for循环的末尾,而不是删除0.
数据,而是只更改数字。 最佳答案
我建议使用foreach循环,在循环中声明$i counter,并在运行时递增它。
未测试代码:
foreach ($house as $i=>$row){
echo '<br><br>',++$i,'. ',preg_replace ('/[^a-z\d\s]+/i','',strip_tags ($row ['title'])),".mp3<br>{$row ['stream_url']}?client_id=OURID";
}
p.s.i改进了regex模式,并消除了所有的一次性变量声明。如果你愿意的话,你可以把它分成很多行。
如果你想避免第一次迭代的双中断标记…
foreach ($house as $i=>$row){
if($i) echo '<br><br>'; // if $i is not 0
echo ++$i,'. ';
echo preg_replace ('/[^a-z\d\s]+/i','',strip_tags ($row ['title']));
echo ".mp3<br>{$row ['stream_url']}?client_id=OURID";
}
关于php - 从结果中删除0,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47965376/