如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
当前回答
我这样做是为了得到第一个和最后一个值。这也适用于更多的价值观。
$a = array(
'foo' => 400,
'bar' => 'xyz',
);
$first = current($a); //400
$last = end($a); //xyz
其他回答
Reset()给出数组的第一个值,如果数组中有一个元素:
$value = reset($array);
如果数组是空的,它也会给你FALSE。
有几个选择。Array_shift()将返回第一个元素,但它也将从数组中删除第一个元素。
$first = array_shift($array);
Current()将返回其内部内存指针所指向的数组的值,默认情况下是第一个元素。
$first = current($array);
如果你想确保它指向第一个元素,你总是可以使用reset()。
reset($array);
$first = current($array);
你可以使用array_values
$firstValue = array_values($array)[0];
另一种简单的方法是使用array_values
array_values($array)[0]
从PHP 7.3.0开始,可以不重新设置内部指针。你可以使用array_key_first。如果你确定你的数组有值,那么你可以这样做:
$first = $array[array_key_first($array)];
更有可能的是,你想要处理数组为空的情况:
$first = (empty($array)) ? $default : $array[array_key_first($array)];