无法访问php

时间:2017-06-16 05:58:27

标签: php arrays multidimensional-array

我将数据放在php中的多个数组中并试图通过键值对逻辑访问它但没有获得成功

这是我用print_r打印数组时的输出:

Array ( 
    [0] => Array ( 
        [33] => Coca Cola Products 
    ) 
    [1] => Array ( 
        [1] => Agricultural products, Food and Beverages 
    ) 
)

代码I'沉思:

foreach ($data as $key=>$option)
{
    echo $key;
}

需要输出:

33 coca cola products
1 Agricultural products, Food and Beverages

在我的for循环中填充数据我执行此操作:

$data[] = array($loop['category_id'] => $loop['category_name']);

现在想获得类别ID和类别名称

3 个答案:

答案 0 :(得分:2)

填充数组时......

data[] = array($loop['category_id'] => $loop['category_name']);

您将每个元素创建为数组,这就是您最终得到最终结果的原因。

如果您使用

$data[$loop['category_id']] = $loop['category_name'];

您会看到数组是以1级深度创建的。在此使用print_r,您将看到差异。这意味着当您使用foreach进行迭代时,它将使用您用于添加数据的密钥并将值提供给您。

答案 1 :(得分:1)

你的$ data是一个数组数组,你应该这样做, live demo

foreach ($data as $v)
{
    echo key($v) . ' ' . current($v) . "\n";
}

答案 2 :(得分:0)

这可以按照以下方式完成

$data = array(array('33'=>"Coca Cola Products"),array("1"=>"Agricultural products, Food and Beverages"));

foreach ($data as $key=>$option)
{
        foreach($option as $k=>$v){
                echo "\n". $k ." ". $v;
        }
}