0

次のような配列がある場合:

$my_array = array(2) { ["mykey"]=> int(2) ["mysecondkey"]=> int(3) }

最初の要素のキー値を取得するにはどうすればよいですか?

これまでのところ、私にできることはわかっています$my_array[0]が、最初のキーに到達するにはどうすればよいですか?foreachを避けたい。

ありがとう!

4

4 に答える 4

1

array_keys()配列のキーのリストを取得するために使用できます。

$keys = array_keys($my_array);
echo $keys[0]; // outputs "mykey"

Smarty でこれを行う場合は、次のコードを使用して配列の最初のキーを出力できます。

{foreach from=$my_array key=my_key item=i name=my_array}
  {if $smarty.foreach.my_array.first}{$my_key}{/if}
{/foreach}
于 2012-11-30T12:18:06.123 に答える
1

これは連想配列 (文字列キー) です。キーの名前を直接使用:

$my_array["mykey"];

詳細はこちら
をご覧ください キーを抽出するには、array_keysを使用します:

$my_array = array(2) { ["mykey"]=> int(2) ["mysecondkey"]=> int(3) }
$keys = array_keys($my_array); //0 => "mykey", 1 => "mysecondkey"
于 2012-11-30T12:16:22.360 に答える
0
foreach($my_array as $key=>$_val){
    echo $key;
    break;
}
于 2012-11-30T12:20:18.867 に答える
0

array_keys()は配列内のすべてのキーを取得しますが、これは他のすべてを繰り返したり、配列の残りの部分を無視したりせずに最初のキーを取得します。

ブレークは最初の反復で終了するため、これは偽のループです。したがって、実際にはすべての値に対して実際のforeachを実行しているわけではありません。

foreach($my_array as $firstKey=>$unused) {
    break;
}
echo($firstKey);

関数が必要な場合は、次を使用できます。

function first_key($arr) {
    foreach($my_array as $firstKey=>$unused) {
        return $firstKey;
    }
}

この場合も、関数は最初の反復で戻るため、すべての要素に対して「実際の」foreachを実行しているわけではありません。

于 2012-11-30T12:21:30.250 に答える