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

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

其他回答

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

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

你可以试试这个。

获取数组的第一个值:-

<?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));
?>

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

例如:

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

使用reset()函数从数组中获取第一项,而不需要知道它的键,如下所示。

$value = array('foo' => 400, 'bar' => 'xyz'); 回声重置价值(美元);

/ /输出 400

你可以使用array_values

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