如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
如果我有一个这样的数组:
$array['foo'] = 400;
$array['bar'] = 'xyz';
我想在不知道键值的情况下从数组中取出第一项,该怎么做呢?有这个函数吗?
当前回答
一句话:
$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;
其他回答
在第一次迭代时中断的假循环:
$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";
在获取第一个元素之前,测试变量a是否是一个数组。在动态创建数组时,如果它被设置为null,则会得到一个错误。
例如:
if(is_array($array))
{
reset($array);
$first = key($array);
}
我这样做是为了得到第一个和最后一个值。这也适用于更多的价值观。
$a = array(
'foo' => 400,
'bar' => 'xyz',
);
$first = current($a); //400
$last = end($a); //xyz
你可以做:
$values = array_values($array);
echo $values[0];
你可以使用array_shift