如何在组数组中使用多个变量?

时间:2016-08-06 04:44:11

标签: php

我目前有以下代码,它工作得很好,但我从来没有尝试过做这类事情更复杂的事情。我想知道如何在结果输出中添加更多变量。

$check_alt_sizes = mysqli_query($link, "SELECT model, version, size, category FROM items WHERE model = '$model' AND size != '$category' AND id != '$item_id'");
 if (mysqli_num_rows($check_alt_sizes) >= 1) {
            $group = array();
            while ($row = mysqli_fetch_assoc($check_alt_sizes)) {
                $group[ $row['category'] ][] = $row;
        }

然后再

            foreach ($group as $sizes => $alt_size_urls) {
                    foreach ($alt_size_urls as $alt__size_url) {
                        echo "<a href='/items/"; echo "$alt_size_url[slug]"; // slug set elsewhere
                        echo "'>";
                        echo "$sizes</a>";
                    }
                }
        }

现在,$ sizes部分显示了我从查询中获取初始$ group中的$ row ['category']所获得的大小列表。我想知道的是,我怎样才能为这个组添加更多变量,我只是用这种方式处理它,从不扩展它。

目前显示

Alternate Sizes:
       size1
       size2

但我希望能够添加版本,例如

Alternate Sizes:
       Version1 - size1
       Version2 - size1
       Version3 - size2

我试过这样做:

echo $row['version']; echo "$sizes</a></p></li>";

但这只是使用找到的第一个版本并将其应用于每个项目。显然因为$ sizes是循环而版本echo不是。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

我用这个修改了你的源代码:

$group_size = "";
foreach ($group as $sizes => $alt_size_urls) {
    $group_size .= "Alternate Sizes: <br>";
    $ctr = 0;
    foreach ($alt_size_urls as $alt__size_url) {     
        $group_size .= "<a href='/items/' " . $alt_size_url[slug] . (++$ctr) . "'>" . $sizes . "</a><br>";
    }

}
echo $group_size;