echo $merchant_pic['shop']['campaign'];
我知道这会给我campaign
的价值。但首先我必须知道数组的第一层是什么 - shop
。
问题是:第一层可能是任何东西。
有没有办法在不知道/定义第一层的情况下获取第二层数组的值?
答案 0 :(得分:2)
如果您不知道$merchant_pic
内目标项的键,那么 知道它相对于其兄弟姐妹的位置(它是第一项吗?最后一项?第三?)。
如果这是$merchant_pic
中唯一的(或第一个)项目,那么轻松获得它的一种方法是reset($merchant_pic)
,所以你会写
echo reset($merchant_pic)['campaign']; // requires PHP >= 5.4
答案 1 :(得分:0)
您可以循环键直到找到一个
<?php
$merchant_pic['not_shop'] = array(
'rrr' => 'aaa',
2 => 'a',
'foo' => 'bar'
);
$merchant_pic['shop'] = array(
'bla' => 1,
'asd' => 2,
'campaign' => 'true (hit here)',
'qwe' => 3
);
foreach ($merchant_pic as $key => $value) {
if(isset($merchant_pic[$key]['campaign'])) {
echo $merchant_pic[$key]['campaign'];
}
}
输出:true (hit here)
在这种情况下,我不知道$ key是什么。它是shop
,但它可以是not_shop
,也可以是两者或其他键。它将遍历所有键,每次返回true isset()
时,它都会打印出来。