2014-10-08 80 views
0

一种新的PHP ..我有一个非常基本的问题。如何读取这个数组数组?

这是我的数组结构。 (有0,1,2,3,4,5,但我只包括[0])

[0] => Array (
    [mid] => 32 
    [uid] => 1 
    [username] => ufcadmin 
    [mediakey] => b25b3513de4c21277a1af083bc486dc2 
    [mediatype] => 0 
    [first] => false 
    [hidden] => false 
    [status] => 5 
    [featured] => false 
    [culture] => en 
    [properties] => a:7:{s:12:”source-width”;i:720;s:13:”source-height”;i:480;s:15:”source-duration”;i:460;s:5:”width”;i:720;s:6:”height”;i:480;s:8:”duration”;i:460;s:8:”filesize”;i:30343114;} 
    [title] => Cardio & Core 
    [description] => FIT Workout #8 
    [duration] => 460 
    [thumbnail_filename] => http://192.168.10.131/images/thumbs/b25b3513de4c21277a1af083bc486dc2_1405381634.jpg 
    [source_filename] => http://192.168.10.131/images/source/b25b3513de4c21277a1af083bc486dc2_1405381634.avi 
    [scrambled_filename] => http://192.168.10.131/images/media/b25b3513de4c21277a1af083bc486dc2_1405381634.mp4 
) 

我试图解析用下面的PHP代码..

$y = 0;  
    foreach($contentoutput[$y] as $media) { 
      echo '<pre>'; 
     // print_r($key); 
     //echo ":"; 
     // print_r($value); 
     echo "Title: " . $media['title']; 
     $y++; 
    } 

不幸,我的代码正在返回..

 Title: C 

     Title: < 

     Title: 4 

     Title: h 

     Title: h 

     Title: h 

     Title: 

     Title: 

     Title: 

     Title: 

     Title: 

     Title: 

     Title: 0 

     Title: 6 

     Title: 0 

     Title: 0 

     Title: 0 

     Title: 0 

     Title: 2 

     Title: 2 

     Title: 

     Title: 

     Title: 

我的foreach有什么问题吗?

+0

吃了你肯定你向我们展示了'$ contentoutput [0]'' – 2014-10-08 22:12:33

+1

的foreach($ contentoutput为$媒体){',没有在'$ y'在所有需要。 – Cheery 2014-10-08 22:12:34

回答

1

应该

foreach($contentoutput as $media) { 

您正在从阵列中的每个键,并试图输出$媒体[“标题”]。 即:32['title']1['title']

如果你想只显示标题的第一条记录,做echo $contentoutput[0]['title']

+0

这工作..但我不明白为什么。 – dotKn0ck 2014-10-08 22:15:55

+0

你想输出第一条记录的标题,还是全部? – cornelb 2014-10-08 22:16:29

-2

您的foreach是问题,因为我看到它。 $media将代表阵列中的各种按键(mid,uid,title等),并且您实际上在说“Give me $contentoutput[0]["mid"]["title"]”。试试这个:

$y = 0;  
foreach($contentoutput[$y] as $k => $media) { 
    if($k != "title") continue; 
     echo '<pre>'; 
    // print_r($key); 
    //echo ":"; 
    // print_r($value); 
    echo "Title: " . $media; 
    $y++; 
} 
1

你不需要在foreaech中索引$ contentoutput。

这样做:

foreach ($contentoutput as $i => $media) { 
    echo "Title $i: " . $media['title']; 
}