Php 将多维数组降低(最新)一级

Php 将多维数组降低(最新)一级,php,Php,虽然这种方法很有效,但我很好奇是否有人知道一种更漂亮的方法,因为这种情况似乎经常出现 <?php //Initialy, data is nested up in $some_array[0] ... $some_array = array(array('somevar' => "someValue", "someOtherVar" => "someOtherValue")); print_r($some_array); 数组([somevar]=>someValu

虽然这种方法很有效,但我很好奇是否有人知道一种更漂亮的方法,因为这种情况似乎经常出现

<?php
//Initialy,  data is nested up in $some_array[0] ...
$some_array = array(array('somevar' => "someValue", "someOtherVar" => "someOtherValue"));

print_r($some_array);   
数组([somevar]=>someValue[someOtherVar]=>someOtherValue)

有人知道一种方法可以通过本机功能或更优雅的方式实现这一点吗


谢谢

您可以使用
current
(已解释),它基本上指向数组中的第一个元素并返回它

要绝对确保获得第一个元素,应重置数组,如下所示:

reset($arr)
$firstElement = current($arr)

您要查找的本机函数名为():


明确说明:
当前的
是不必要的。

使用
$some\u数组=$some\u数组[0]有什么问题?对我来说似乎很好…请定义“更优雅”。还有,如果你这么努力追求优雅,为什么你的数据一开始就不那么优雅呢?本机函数名为btw。@hakre-More优雅的本机函数返回数组的第一个元素,就像current()一样。重新考虑一下这个问题,我倾向于支持我的初始代码示例的可读性,正如人们可以看到的那样,只需看半眼,不必考虑正在发生的事情。数据是以这种方式构造的,因为它是来自框架的回调的返回值。PS:reset需要与current()一起使用。在我的例子中,reset有点多余,因为我可以在函数调用之后立即调用current()。@stefgosselin:您不需要将
current
reset
一起使用,我添加了一个答案,不仅用一些示例代码,而且用一些链接的演示来明确说明。希望有帮助;)同样返回,因此
$first=reset($array)应该足够了。对于真实(非关联)数组,重置
就足够了。但是在php.net文档中,它在用户评论中提到,这对关联数组不起作用,这就是为什么我添加了
current
call.not work,如果数组包含的元素超过了一个,则在上层:reset([[1,2,3],[4,5,6]])->[1,2,3]@LajosMeszaros:这是一个元素:数组。听起来好像你在寻找不同的东西,比如先把数组变平:我最终使用的解决方案是调用数组中的ArayyRead,其中ArayyLyMyReasy.@ LaJuxMeSZAROS:或者,你可能想考虑任何可移动的空元素,也可以考虑:
reset($arr)
$firstElement = current($arr)
$some_array = reset($some_array);