好吧,我不确定我能不能写得很好,但我会尝试的。从一个后端脚本,我真的不能改变太多。我有一个非常大的多维数组被吐到UI中,其中主数组中的数组不包含您的普通0-n索引方案,并且由于它们之间的关联,它们是在后台生成的。例如,我有一个多维数组,看起来像
Array(
[0] = Array(
[stuff] = 'something'
[morestuff] = 'other'
[info] = array(
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
)
),
[1] = Array(
[stuff] = 'something'
[morestuff] = 'other'
[info] = array(
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
[generated_id_based_on_assication] = array(
[id] = '12345t'
[desc] = 'blah blah'
[url] = '/some/where'
)
)
)
)
我不知道数组的最佳表示法。但为了举例说明,由于我不能发布实际数据本身,我需要做的是让[info]
数组找到每个generated_id_based_on_assication
,这样我就可以从每个generated_id_based_on_assication
数组中提取数据。但是,由于它不是0-n索引,我不确定如何获取"generated_id_based_on_sassion"部分,以便处理其中的数据,因为对于数组中的特定数组,通过foreach或任何类型的循环运行它确实不是一个选项。有人有什么建议吗?如果我能在一个循环中运行这个,我可以做到,但这就是我绊倒的地方,我不能,因为这些数据被列在表中,并且每个数组都是以每行为基础的。
假设外部数组位于名为$array的变量中。。尝试
$keys = array_keys($array[0]['info']);
然后$keys将包含生成的id,你可以像这个一样使用它们
$desc = $array[0]['info'][$keys[0]]['desc'];
http://php.net/manual/en/function.array-keys.php