附加变量进入php数组输出?

时间:2012-03-27 22:12:48

标签: php mysql arrays variables

我目前有以下脚本,它将类别ID作为数组:

$sql_select_categories = $db->query("SELECT category_id FROM " . DB_PREFIX . "categories 
                                     WHERE parent_id='" . intval($src_details['parent_id']) . "' 
                                     ORDER BY order_id ASC, name ASC"); 

$additional_vars = set_filter_link($src_details, array('parent_id' => '', 'start' => ''), 'address');

while ($cat_details = $db->fetch_array($sql_select_categories)) {
    $cat_array[$cat_details['category_id']]["name"] = $category_lang[$cat_details['category_id']];
}

if(is_array($cat_array)) {  
    asort($cat_array);

    foreach($cat_array as $key => $value) {     
        $subcat_link = basename($_SERVER['PHP_SELF']) . '?parent_id=' . $key . $additional_vars;

        $output .= '<tr> '.
        '   <td class="contentfont">&nbsp;&raquo; <a href="' . $subcat_link . '">' . $category_lang[$key] . '</a></td> '.
        '</tr> ';
    }
}   
return $output;

这非常有效,除了我需要从数据库中提取另一个名为count的变量。所以MySQL查询将从

改变
SELECT category_id FROM

SELECT category_id, count FROM

到目前为止一直很好,但是如何让它显示foreach中的每个计数呢?我需要在$category_lang[$key]之后的HTML中显示它们,如$count

1 个答案:

答案 0 :(得分:1)

您的$cat_details数组将包含您可以引用的另一个元素,即$cat_details['count']。然后,您可以将其添加到$cat_array,就像在while循环中使用该名称元素一样。

$cat_array[ $cat_details['category_id'] ]['count'] = $cat_details['count'];

有意义吗?