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

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

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


当前回答

你可以使用array_values

$firstValue = array_values($array)[0];

其他回答

Reset()给出数组的第一个值,如果数组中有一个元素:

$value = reset($array);

如果数组是空的,它也会给你FALSE。

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

$first = array_shift($array);

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

$first = current($array);

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

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

在获取第一个元素之前,测试变量a是否是一个数组。在动态创建数组时,如果它被设置为null,则会得到一个错误。

例如:

if(is_array($array))
{
  reset($array);
  $first = key($array);
}

我们可以 $first =重置($array);

而不是

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

重置()

返回重置后数组的第一个元素;

一句话:

$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;