如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
当前回答
你可以试试这个。
获取数组的第一个值:-
<?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));
?>
其他回答
从PHP 7.3.0开始,可以不重新设置内部指针。你可以使用array_key_first。如果你确定你的数组有值,那么你可以这样做:
$first = $array[array_key_first($array)];
更有可能的是,你想要处理数组为空的情况:
$first = (empty($array)) ? $default : $array[array_key_first($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;
你可以使用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";
Reset()给出数组的第一个值,如果数组中有一个元素:
$value = reset($array);
如果数组是空的,它也会给你FALSE。