2012-06-21 9 views
9

の1つだけの連想配列のペアkey=>valueがあります。1対連想配列でキーを知らずに値を取得

私はそれがキーだか分からないが、私はそれが価値だを取得する必要があります。

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

$array[0]は動作しません。

どのようにして価値を得ることができますか?

+0

を使用する必要があり、いくつかの良い答え、@nickbが掲載され、私は、)(終わりであると信じて最も簡潔があります。 – Umbrella

+1

は合意した、それはより多くの "忍者"と 'array_keys'です – Qiao

答えて

27

配列に要素が1つしかないため、次のいずれかの関数を使用して値を取得することもできます。あなたがarray_keys()を使用したい場合は

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

また、あなたは何をする必要があるでしょう:

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

値を取得するには。いくつかのより多くのオプションとして

、あなたはまた、値を取得するためにarray_pop()またはarray_shift()を使用することができます。

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

最後に、あなたは最初に取る、配列のすべての値を取得するためにarray_values()を使用することができます。


もちろん、他の多くの選択肢があります。いくつかの愚かな、いくつかの有用な。あなたが見ることができるように

$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); 
+0

私は...それを投稿するつもりでした。 http://php.net/manual/en/function.end.php – Umbrella

+1

これらはすべて利用可能なオプションだと思います。 – nickb

4

array_keys()は、あなたが望む何

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

それは、OPの希望として、値ではなくOPのキーを取得します – Umbrella

+0

これに応じて私の答えを更新しました –

+0

これで2番目の行に括弧のかっこが必要です。 – grossvogel

2

のためのキーを取得する最初の項目を取得するのですか?

$value = reset($array); 
$key = key($array); 
0

あなたはarray_values

$newArray = array_values($array); 
echo $newArray[0]; 
関連する問題