我将数据放在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和类别名称
答案 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;
}
}