12

連想配列のキーは動的に生成されます。そのような配列の「キー」を取得するにはどうすればよいですか?

$arr = array ('dynamic_key' => 'Value');

次のような foreach ループを介してアクセスできることを認識しています。

foreach ($arr as $key => $val) echo "Key value is $key";

ただし、この配列にはキーが 1 つしかないことがわかっており、foreach ループを回避したいと考えています。他の方法でこの要素の値にアクセスすることは可能ですか? またはキー名を取得しますか?

4

6 に答える 6

6
$keys = array_keys($arr);
echo $keys[0];

またはarray_values()値に使用します。

于 2010-02-16T07:03:19.523 に答える
0

You can use array_shift(array_keys($arr)) (with array_values for getting the value), but it still does a loop internally.

于 2010-02-16T07:03:47.550 に答える
0

What about array_keys()?

It does return an array though...

于 2010-02-16T07:04:14.650 に答える
0

do you mean that you have the value of entry and want to get the key ?

array_search ($value, $array) 

Returns the key for needle if it is found in the array, FALSE otherwise.

If needle is found in haystack more than once, the first matching key is returned. To return the keys for all matching values, use array_keys() with the optional search_value parameter instead.

more details : http://php.net/manual/en/function.array-search.php

于 2010-02-16T07:04:41.517 に答える