从对象获取特定行(php)

时间:2013-07-16 15:48:43

标签: php arrays object hyperlink

我使用

从HTML网站获取一些URL
foreach($html->find('source') as $video)                   
    if($video->type =='video/mp4')  {

        echo $video->src. '<br>';

我的输出如下:

http://video.csfd.cz/321/321909/130228151/360.mp4
http://video.csfd.cz/321/321909/130228151/720.mp4
http://video.csfd.cz/321/321909/99476124/360.mp4
http://video.csfd.cz/321/321909/99476124/720.mp4
http://video.csfd.cz/321/321909/99476124/1080.mp4

我不知道如何获得这个链接之一,我不太了解对象,所以我看起来很难解决这个问题。

我尝试的是什么: 我正在考虑将对象转换为数组并使用它,这听起来很简单,问题是如果我使用:

$pole = (array)$video;
 echo "$pole[0]";

它说:

http://video.csfd.cz/321/321909/130228151/360.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/130228151/720.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/360.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/720.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61
http://video.csfd.cz/321/321909/99476124/1080.mp4

Notice: Undefined offset: 0 in C:\xampp\htdocs\xampp\ocul\subor.php on line 61

如果我使用print_r,输出就像吨代码,至少是1-2x A4页面,soemthing真的很疯狂

那么有一种方法可以从中获取一个特定的行(更喜欢让我选择哪一行),或者某种方式将此输出转换为数组或类似的东西?

1 个答案:

答案 0 :(得分:0)

将对象转换为数组是个坏主意。您可以在循环时基本将链接存储在数组中。试试这个:

$links = array();
foreach ($html->find('source') as $video) {               
    if ($video->type == 'video/mp4')  {
        array_push($links, $video->src);
    }
}

然后根据需要使用$links数组:

echo $links[0];