如果我有一个这样的数组:

$array['foo'] = 400;
$array['bar'] = 'xyz';

我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?


当前回答

另一种简单的方法是使用array_values

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 7.3.0开始,可以不重新设置内部指针。你可以使用array_key_first。如果你确定你的数组有值,那么你可以这样做:

$first = $array[array_key_first($array)];

更有可能的是,你想要处理数组为空的情况:

$first = (empty($array)) ? $default : $array[array_key_first($array)];

你可以使用array_shift

使用reset()函数从数组中获取第一项,而不需要知道它的键,如下所示。

$value = array('foo' => 400, 'bar' => 'xyz'); 回声重置价值(美元);

/ /输出 400

有几个选择。Array_shift()将返回第一个元素,但它也将从数组中删除第一个元素。

$first = array_shift($array);

Current()将返回其内部内存指针所指向的数组的值,默认情况下是第一个元素。

$first = current($array);

如果你想确保它指向第一个元素,你总是可以使用reset()。

reset($array);
$first = current($array);