以以下三维数组为例:
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] =>
)
)
)
我想选择三维数组的第一个数组,并将其分配给另一个数组,我们称之为$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 的数组
试试这个:(假设$old_array
是你的3维数组)
$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));
检查此工作小提琴
$arr_first=array_shift(array_values($array));
var_dump($arr_first);
通过这种方式,您可以始终首先独立于id。