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

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

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


当前回答

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

$value = reset($array);

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

其他回答

我这样做是为了得到第一个和最后一个值。这也适用于更多的价值观。

$a = array(
    'foo' => 400,
    'bar' => 'xyz',
);
$first = current($a);   //400
$last = end($a);    //xyz

你可以做:

$values = array_values($array);
echo $values[0];

你可以使用array_shift

在第一次迭代时中断的假循环:

$key = $value = NULL;
foreach ($array as $key => $value) {
    break;
}

echo "$key = $value\n";

或者使用each()(警告:PHP 7.2.0已弃用):

reset($array);
list($key, $value) = each($array);

echo "$key = $value\n";

你可以使用array_values

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