在PHP代码中无法掌握功能概念

时间:2016-05-26 09:23:07

标签: php

所以我有一个index.php文件,里面有data.php(不同类型项目的数组列表):

$catalog[304] = [
    "title" => "The Very Thought of You",
    "img" => "img/media/nat_king_cole.jpg",
    "genre" => "Jaz",
    "format" => "MP3",
    "year" => 2008,
    "category" => "Music",
    "artist" => "Nat King Cole"
]; //and so on ->

我还有一个包含此功能的function.php文件:

function get_item_html($id, $item) {
    $output =
        "<li><a href='#'><img src='"
        . $item["img"] . "' alt='"
        . $item["title"] . "' />"
        . "<p> View Details </p>"
        . "</a></li>";
    return $output;

然后是index.php,它们都包含在顶部:

<ul class="items">
$random = array_rand($catalog, 4);
foreach ($random as $id) {
echo get_item_html($id, $catalog[$id]);
}

我无法掌握的是“$ catalog [$ id]”。它似乎应该返回目录ID,而不是目录ID中的键。但显然代码是有效的,因为它确实有效。只是我无法理解为什么。

我知道我离开了这里,但如果有人能向我解释,我会非常感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

$ catalog [$ id]只是从data.php文件中返回一个id = $ id的数组,而你的get_item_html方法利用了这个数组的img和title值,并生成了一些html。因此,如果你的随机生成器选择了304,那么你的输出将是:

<li><a href='#'><img src='img/media/nat_king_cole.jpg' alt='The Very Thought of You' />
      <p> View Details</p>
    </a>
</li>