【发布时间】:2016-11-05 00:34:11
【问题描述】:
我们可以在多维数组中动态获取任何我们想要的键吗?
$f['Kitchen']['Dishes']['Mantovarka']=3;
$f['Kitchen']['Dishes']['Castrool']=91;
$f['Kitchen']['Dishes']['Separator']=10;
$f['Kitchen']['Product']=18;
$f['Kitchen']['Textile']=19;
$f['Kitchen']['Blue things']['Juicemaker']=25;
$f['Kitchen']['Blue things']['Freegener']=13;
$f['Kitchen1']['Blue things One']['Microwave']=4;
$f['Kitchen1']['Blue things One']['Iron']=24;
$f['Kitchen1']['Dishes One']['Separator']=110;
例如,如果我想分别访问“Kitchen1”、“Dishes”和“Iron”。
var_dump($f['Kitchen1']);
Output:
[
'Blue things One' => [
'Microwave' => 4
'Iron' => 24
]
'Dishes One' => [
'Separator' => 110
]
]
var_dump($f['Kitchen']['Dishes']);
Output:
[
'Mantovarka' => 3
'Castrool' => 91
'Separator' => 10
]
var_dump($f['Kitchen1']['Blue things']['Iron']);
Output:
24
我试图达到它:
$kitchenKeys = "{'Kithcen1'}";
var_dump($f[$kitchenKeys]);
Output:
NULL
$dishKeys = "{'Kitchen'}][{'Dishes'}";
var_dump($f[$dishKeys]);
Output:
NULL
$ironKeys = "{'Kitchen1'}][{'Blue things One'}][{'Iron'}";
var_dump($f[$ironKeys]);
Output:
NULL
我们能否动态地为 $kitchenKeys 或/和 $dishKeys 或/和 $ironKeys 分配键,以获取多维数组中任何键的值?
【问题讨论】:
-
我想你可能需要
eval()来做到这一点 -
我想这取决于你所说的动态。您可以轻松地为变量赋值以访问它。例如
$value1="Kitchen1"; $value2 = "Dishes One"; print_r($f[$value1][$value2]);
标签: php arrays multidimensional-array dynamically-generated