我有一个如下所示的数组:
Array
(
[0] => Array
(
[name] => stories
[results] => Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
)
)
[1] => Array
(
[name] => users
[results] => Array
(
[0] => Array
(
[id] => 1
)
[1] => Array
(
[id] => 2
)
)
)
)
此数组存储在名为$fql
的变量中。我想访问名为stories
的结果。我可以这样做:
$stories = $fql['0']['results']
然而,通过索引号选择数组似乎有点奇怪,而不是数组的名称。
还有其他方法可以在[name] => stories
旁边的数组中访问结果吗?
答案 0 :(得分:0)
试试这个:
foreach($fql as $arr) {
$$arr['name'] = $arr['results'];
}
这会将结果分为两个变量,$stories
和$users
;
答案 1 :(得分:0)
如果您不确定[name] => stories
的数组是否始终位于索引0
上,您可以使用循环来查找它:
foreach($fql as $arr) {
if($arr['name'] == 'stories') {
// do stuff and break;
break;
}
}
答案 2 :(得分:0)
如果您不确定故事将始终是第一个元素,您可以编写一个函数来迭代数组:
function getValuesFor($term, $list) {
foreach ($list as $item) {
if ($item['name'] === $term) {
return $item['results'];
}
}
return array();
}
$results = getValuesFor('stories', $array);