我该如何读取这个数组?

时间:2014-10-08 22:05:07

标签: php arrays

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有什么问题吗?

3 个答案:

答案 0 :(得分:1)

应该是

foreach($contentoutput as $media) {

您正在从阵列中获取每个键并尝试输出$ media [&#39; title&#39;]。 即:32['title']1['title']

如果您只想显示第一条记录的标题,请执行echo $contentoutput[0]['title']

答案 1 :(得分:1)

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

这样做:

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

答案 2 :(得分:-2)

正如我所看到的,你的foreach就是问题所在。 $media代表你阵列中的各种键(mid,uid,title等),你有效地说'#34;给我$contentoutput[0]["mid"]["title"]&#34;。试试这个:

$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++;
 }