带有ID和描述的PHP数组 - 随机化数组和打印列表

时间:2012-10-14 08:21:39

标签: php arrays multidimensional-array shuffle

由于我不是一个php人,因此我需要帮助创建一个包含YouTube视频和每个视频描述的数组。

现在我有一个只保存视频ID的数组。向每个ID添加描述的最佳方法是什么,这样我就可以轻松地遍历数组并在下面创建所需的输出。

<?php
    $vids = array(
        "OOWvNbU6ciLg",
        "5itTJabAJfps",
        "jFA8Tesmames",
        "Trz9Y01xx1TY",
        "mMQGcIrlyseU",
        "qGrlQNvqqL14",
        "QymnLbSpJ7lA",
        "jFAh8Tesmmes",
        "5itTJtbAJfps",
        "OOWvNpU6ciLg"
    );
?>

我最终想要的是下面带有视频说明的视频列表。我希望在创建列表之前对我的数组进行混洗,这样每次创建列表时我都会有不同的顺序。

HTML

<li class="video">
    <figure>
        <iframe width="100%" height="200px" src="http://www.youtube.com/embed/OxXAT2epfEYA?HD=1;rel=0;showinfo=0" frameborder="0" allowfullscreen></iframe>
        <figcaption>Description of the video</figcaption>
    </figugre>
</li>

定义数组的最佳方法是什么,这样我就可以对其进行随机播放,然后遍历数组并使用<li>嵌入代码和下面的描述打印每个iframe项。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

以关联数组保存有关视频的所有信息:

$single_video = array(
    "id" => "OOWvNbU6ciLg",
    "description" => "Video descr"
);

现在构建一系列视频:

$vids = array(
    array(
        "id" => "OOWvNbU6ciLg",
        "description" => "Video descr"
    ),
    array(
        "id" => "5itTJabAJfps",
        "description" => "Other video descr"
    ),
);

现在你可以轻松地将其改组,然后循环:

$vids = array();
shuffle($vids);
foreach($vids as $video){
    //$video here is associative array with single video
    echo "{$video['id']} - {$video['description']}";
}

答案 1 :(得分:1)

通过将ID和描述放在数组中,您可以想到一个关联数组。

vidArray = array(
videoId1 => 'This is the description for video 1.',
videoId2 => 'This is the description for video 2',
etc. );

然后,您可以使用a for each语句遍历数组并使用数组元素信息创建iframe。

PHP还具有内置的随机播放功能,可以随机调整数组。 Array shuffle