PHP数组捕获键值对的键


PHP Array catch key of key value pair

好吧,我不确定我能不能写得很好,但我会尝试的。从一个后端脚本,我真的不能改变太多。我有一个非常大的多维数组被吐到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