所以我有一个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中的键。但显然代码是有效的,因为它确实有效。只是我无法理解为什么。
我知道我离开了这里,但如果有人能向我解释,我会非常感激。
谢谢!
答案 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>