Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从中删除0以获取结果_Php - Fatal编程技术网

Php 从中删除0以获取结果

Php 从中删除0以获取结果,php,Php,目前,我正在搞乱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

目前,我正在搞乱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'];
打印“
”;打印“
”; $title=preg_replace('/[^a-zA-Z0-9\s]/','',带标签($b1)); 打印“.$i.”.$title.”.mp3'; 打印“
”; 打印$stream=''.$b2'?客户端id=OURID'; }

现在我想知道的是,在任何情况下,我们如何使
0.
作为
1.
返回,并继续向上计数,直到到达for循环的末尾,而不是删除
0.
数据,而只是更改数字。

根据注释和您对尝试执行操作的描述,听起来您只需要添加另一个迭代变量:

# Add another variable
$a = 1;
for ($i = 0; isset($house[$i]); $i++) {
    $b1 = $house[$i]['title'];
    $b2 = $house[$i]['stream_url'];
    $title = preg_replace('/[^a-zA-Z0-9\s]/', '', strip_tags($b1));
    echo '<br><br>';
    # Here you have the $a show up starting at 1
    echo ''.$a.'. '.$title.'.mp3<br>';
    echo $stream = ''.$b2.'?client_id=OURID';
    # Auto increment here
    $a++;
}
#添加另一个变量
$a=1;
对于($i=0;isset($house[$i]);$i++){
$b1=$house[$i]['title'];
$b2=$house[$i]['stream_url'];
$title=preg_replace('/[^a-zA-Z0-9\s]/','',带标签($b1));
回音“

”; #这是1美元一场的表演 回音“.$a..$title..mp3
”; echo$stream=''.$b2'?客户端id=OURID'; #这里自动递增 $a++; }
我建议使用在循环中声明$I计数器的foreach循环,并在运行时将其递增

未测试代码:

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";
}
foreach($i=>$row){
回显“

,++$i”,”,preg_replace(“/[^a-z\d\s]+/i“,”,strip_标记($row['title']),“.mp3
{$row['stream\u url']}?client_id=OURID”; }
p、 我已经改进了正则表达式模式,并消除了所有的单用途变量声明。如果你愿意,你可以把它分成许多行

如果要避免第一次迭代的双断点标记

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";
}
foreach($i=>$row){
if($i)回显“

”;//如果$i不是0 echo++$i'”; echo preg_替换('/[^a-z\d\s]+/i','',带标签($row['title')); echo“.mp3
{$row['stream\u url']}?client\u id=OURID”; }
不太清楚你在问什么,因为打印出0、1等的不是API,而是你的代码。你正在打印你的循环号。当你打印的时候,你就不能在上面加上1吗?@DavidMakogon我想他是在要求循环从1开始。。这有点confusing@Herbo是 啊让循环从1开始没有任何意义-OP是从一个数组读取的,该数组将是基于0的。@DavidMakogon我理解他试图做什么,但也不确定我将如何执行它。。很确定他使用了
$i
字符串来指示播放列表中的曲目编号,因为他返回了两个结果。播放列表通常从
1
开始,所以他试图找到一个替代使用
$i
的方法。。
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";
}