以下面的三维数组为例:
Array
(
[324] => Array
(
[0] => Array
(
[workid] => 324
[wname] => Y quiero llegar a más / Para triunfar en la vÃa
[recordingid] => 476
[rname] => Y quiero llegar a más / Para triunfar en la vÃa
[rsubname] => Fandangos sevillanos
)
)
[325] => Array
(
[0] => Array
(
[workid] => 325
[wname] => Ya basta
[recordingid] => 479
[rname] => Ya basta
[rsubname] =>
)
)
[326] => Array
(
[0] => Array
(
[workid] => 326
[wname] => Y sin embargo te quiero
[recordingid] => 563
[rname] => Y sin embargo te quiero
[rsubname] =>
)
[1] => Array
(
[workid] => 326
[wname] => Y sin embargo te quiero
[recordingid] => 562
[rname] => Y sin embargo te quiero
[rsubname] => (continuación)
)
[2] => Array
(
[workid] => 326
[wname] => Y sin embargo te quiero
[recordingid] => 478
[rname] => Y sin embargo te quiero
[rsubname] =>
)
)
)
我想选择3维数组的第一个数组并将其分配给另一个数组,我们称之为 $ arr_first
$ arr_first 的输出应该如下所示
Array
(
[workid] => 324
[wname] => Y quiero llegar a más / Para triunfar en la vÃa
[recordingid] => 476
[rname] => Y quiero llegar a más / Para triunfar en la vÃa
[rsubname] => Fandangos sevillanos
)
当然,我可以循环并获得我想要的东西。但我需要知道什么是最优雅,最快速的方法来实现这个循环整个阵列?
编辑: 数组只是一个例子......它是硬编码的。关键值可能会改变。所以我需要让第一个数组独立于id
答案 0 :(得分:2)
试试这个:(假设$old_array
是你的3-dim数组)
$arr_first = array_merge(array(), reset(reset($old_array))); // merge with empty array to clone
print_r($arr_first);
使用array_shift()
代替reset()
也会删除数组中的第一个元素,因此请注意。
我已经使用了array_merge()
,因为你问“并将它分配给另一个数组”,但是如果两个数组都相同,你可以放弃array_merge()
并坚持:
$arr_first = reset(reset($old_array));
<强> Check this working fiddle 强>
答案 1 :(得分:0)
$ arr_first = array_shift(array_values($ array));
的var_dump(arr_first $);
通过这种方式,您可以始终首先独立于id。