我有一个数组,其中包含我想要使用的值的字段/路径(对于usort)。下面你可以找到我如何获得硬编码的价值。我只是无法弄清楚如何以编程方式创建它。 $ arrOrderBy的计数是可变的。所以我可能不得不使用foreach?
这是我的数组顺序:
$arrOrderBy = array(
0 => 'GameObject',
1 => 'Question',
2 => '0',
3 => 'title'
)
此值:
$a[$arrOrderBy[0]][$arrOrderBy[1]][$arrOrderBy[2]][$arrOrderBy[3]];
必须结果:
$a['GameObject']['Question'][0]['title']
此致
答案 0 :(得分:1)
试试这个:
$value = $a;
foreach ($arrOrderBy as $orderBy)
{
$value = $value[$orderBy];
}
答案 1 :(得分:0)
您还可以使用以下模式更改字段的值:
$arrOrderBy = array(
0 => 'GameObject',
1 => 'Question',
2 => '0',
3 => 'title'
);
$a = array(
'foo' => array (
'bar' => array (
'baz' => null
)
)
);
$v =& $a;
foreach ($arrOrderBy as $k => $breadcrumb)
{
$v =& $v[$breadcrumb];
}
$v = 'anything you want';
print_r ($a);
输出:
Array
(
[foo] => Array
(
[bar] => Array
(
[baz] => "anything you want"
)
)
)