22

有一个只有一对的关联数组key=>value

我不知道它的关键,但我需要得到它的价值:

$array = array('???' => 'value');
$value = // ??

$array[0]不起作用。

我怎样才能得到它的价值?

4

4 回答 4

54

您还可以执行以下任一函数来获取值,因为数组中只有一个元素。

$value = reset( $array);
$value = current( $array);
$value = end( $array);

另外,如果你想使用array_keys(),你需要这样做:

$keys = array_keys( $array);
echo $array[ $keys[0] ];

获得价值。

作为更多选项,您还可以使用array_pop()orarray_shift()来获取值:

$value = array_pop( $array);
$value = array_shift( $array);

最后,可以array_values()用来获取数组的所有值,然后取第一个:

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

当然,还有很多其他选择;有些傻,有些有用。

$value = pos($array);
$value = implode('', $array);
$value = current(array_slice($array, 0, 1));
$value = current(array_splice($array, 0, 1));
$value = vsprintf('%s', $array);
foreach($array as $value);
list(,$value) = each($array);
于 2012-06-21T19:17:53.130 回答
5

array_keys()会给你钥匙

$keys = array_keys($array);
echo $array[$keys[0]];
于 2012-06-21T19:16:06.860 回答
3

你想要的是检索第一个项目?

$value = reset($array);
$key = key($array);
于 2012-06-21T19:17:38.540 回答
0

你应该使用 array_values

$newArray = array_values($array);
echo $newArray[0];
于 2012-06-21T19:19:12.610 回答