首页 > 解决方案 > 循环遍历 PHP 数组显示无效响应

问题描述

我在 PHP 中创建了一个函数,主要从 txt 文件中索引文件,这是应该完成这项工作的函数

 public function getPlayingItem()
{
    $playData = [];
    $startTimes = [];
    for($i=0; $i < count($this->playListFiles); $i++){
        $item = $this->playListFiles[$i];
        if(empty($item)){
            unset($this->playListFiles[$i]);
            continue;
        }
        $tmp = explode(',', $item);
        $playData[$i]['startTime'] = array_pop($tmp);
        $startTimes[$i] = $playData[$i]['startTime'];
        $playData[$i]['name'] = implode(',',$tmp);
    }
    array_multisort($startTimes, SORT_ASC, $playData);
    for($i=0; $i < count($playData); $i++){
        if (strtotime($playData[$i]['startTime']) >= time()){
            break;
        }
    }
    $info = $this->get_mp3($playData[$i-1]['name'], true, false);
    $tmp = explode(DS,$playData[$i-1]['name']);
    $name = array_pop($tmp);
    $playing = ['number'=>($i-1),'path'=>$playData[$i-1]['name'],'name'=>$name,'duration'=>$info['data']['time'],'startTime'=>$playData[$i-1]['startTime']];
    $info = $this->get_mp3($playData[$i]['name'], true, false);
    $tmp = explode(DS,$playData[$i]['name']);
    $name = array_pop($tmp);
    $next = ['number'=>$i,'path'=>$playData[$i]['name'],'name'=>$name,'duration'=>$info['data']['time'],'startTime'=>$playData[$i]['startTime']];
    $output = ['playing'=>$playing, 'next'=>$next];
    return $output;
}

这是txt文件

E:\xampp\htdocs\radioclass\files\2021-02-23 22.47.04.mp3,19:10:00
E:\xampp\htdocs\radioclass\files\2021-03-15 19.39.25.mp3,19:10:39
E:\xampp\htdocs\radioclass\files\2021-05-15 19.05.13.mp3,19:10:43
E:\xampp\htdocs\radioclass\files\2021-07-14 23.04.50.mp3,19:11:03
E:\xampp\htdocs\radioclass\files\2021-08-31 11.55.38.mp3,19:11:05
E:\xampp\htdocs\radioclass\files\2021-08-31 11.56.23.mp3,19:11:09
E:\xampp\htdocs\radioclass\files\2021-09-03 23.47.38@ssr.mp3,19:12:19
E:\xampp\htdocs\radioclass\files\frmu.mp3,19:12:23
E:\xampp\htdocs\radioclass\files\frmun.mp3,19:12:26

响应:

{"playing":{"number":8,"path":"E:\\xampp\\htdocs\\radioclass\\files\\frmun.mp3","name":"frmun.mp3","duration":"00:10","startTime":"19:12:26"},"next":{"number":9,"path":null,"name":"","duration":null,"startTime":null}}

**现在的问题是,首先它应该从 0 开始并在 10 结束,第二件事是它显示第二行的路径、名称、持续时间为 null 任何帮助将不胜感激,因为我初学者**

标签: php

解决方案


推荐阅读