获取数组的第一个元素

我有一个数组:

array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )

我想获得此数组的第一个元素。预期结果: apple

一个要求: 它不能通过引用传递来完成 ,所以array_shift不是一个好的解决方案。

我怎样才能做到这一点?

答案

array_shift(array_values($array));
array_pop(array_reverse($array));
reset($array);
array_shift(array_slice($array, 0, 1));
array_values($array)[0];
$arr = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
echo reset($arr); // Echoes "apple"
echo key($arr); // Echoes "4"
$first_value = reset($array); // First element's value
$first_key = key($array); // First element's key
$arr = array( 9 => 'apple', 7 => 'orange', 13 => 'plum' );
echo reset($arr); // echoes 'apple'

根据 PHP 手册current($array)可以使您获得current($array)的第一个元素。

每个数组都有一个指向其 “当前” 元素的内部指针,该指针被初始化为插入该数组的第一个元素。

这样就可以工作,直到您重新放置了数组指针为止,否则必须重置数组。

// First item
list($firstItem) = $yourArray;

// First item from an array that is returned from a function
list($firstItem) = functionThatReturnsArray();

// Second item
list( , $secondItem) = $yourArray;
list($firstKey) = array_keys($yourArray);
list(, $secondKey) = array_keys($yourArray);
array_values($array)[0];
$my_array = ['IT', 'rules', 'the', 'world'];

$first_key = array_key_first($my_array);
$first_value = $my_array[$first_key];

$last_key = array_key_last($my_array);
$last_value = $my_array[$last_key];
$first_value = $my_array[ array_key_first($my_array) ];

$last_value = $my_array[ array_key_last($my_array) ];
$first_value = empty($my_array) ? 'default' : $my_array[ array_key_first($my_array) ];

$last_value = empty($my_array) ? 'default' : $my_array[ array_key_last($my_array) ];
$array = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' );
$array[key($array)]
key($array)
foreach($array_with_unknown_keys as $value) break;
foreach($array_with_unknown_keys as $key=>$value) break;
function grab_first($arr) {
    foreach($arr as $value) return $value;
}