如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
当前回答
这样我们就有了其他选项:reset($arr);如果您不试图保持数组指针在适当的位置,这就足够了,而且对于非常大的数组,它会引起最小的开销。也就是说,它有一些问题:
$arr = array(1,2);
current($arr); // 1
next($arr); // 2
current($arr); // 2
reset($arr); // 1
current($arr); // 1 !This was 2 before! We've changed the array's pointer.
在不改变指针的情况下做到这一点的方法:
$arr[reset(array_keys($arr))]; // OR
reset(array_values($arr));
$arr[reset(array_keys($arr))]];它会在数组为空时发出警告。
其他回答
你可以使用array_shift
这样我们就有了其他选项:reset($arr);如果您不试图保持数组指针在适当的位置,这就足够了,而且对于非常大的数组,它会引起最小的开销。也就是说,它有一些问题:
$arr = array(1,2);
current($arr); // 1
next($arr); // 2
current($arr); // 2
reset($arr); // 1
current($arr); // 1 !This was 2 before! We've changed the array's pointer.
在不改变指针的情况下做到这一点的方法:
$arr[reset(array_keys($arr))]; // OR
reset(array_values($arr));
$arr[reset(array_keys($arr))]];它会在数组为空时发出警告。
你可以使用array_values
$firstValue = array_values($array)[0];
一句话:
$array['foo'] = 400;
$array['bar'] = 'xyz';
echo 'First value= ' . $array[array_keys($array)[0]];
扩展:
$keys = array_keys($array);
$key = $keys[0];
$value = $array[$key];
echo 'First value = ' . $value;
你可以试试这个。
获取数组的第一个值:-
<?php
$large_array = array('foo' => 'bar', 'hello' => 'world');
var_dump(current($large_array));
?>
获取数组的第一个键
<?php
$large_array = array('foo' => 'bar', 'hello' => 'world');
$large_array_keys = array_keys($large_array);
var_dump(array_shift($large_array_keys));
?>