【问题标题】:additional variable into php array output?附加变量到php数组输出中?
【发布时间】:2012-03-27 22:12:47
【问题描述】:

我目前有以下脚本,它将类别 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。

【问题讨论】:

    标签: php mysql arrays variables


    【解决方案1】:

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

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

    有意义吗?

    【讨论】:

    • 首先谢谢您!有道理,但有些东西不起作用:(我是否将 $cat_array 添加为第二行?或者以某种方式将其构建到另一行中。抱歉,我刚开始学习数组,这一切都非常复杂!
    • 我要改成这样吗?
    • 我通过在另一行下方添加另一行 $cat_array 来使其工作。我在浏览器中打印了整个数组,我看到它正在工作,但不知道如何将其打印为 $value。
    • 现在将值显示为:[215] => Array ([name] => Category Name [items_counter] => 19)
    • 抱歉耽搁了!每个$value 也将是一个数组,因此您将在输出foreach 循环中引用$value['count']。
    猜你喜欢
    • 2021-10-03
    • 2018-11-09
    • 2021-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    相关资源
    最近更新 更多