2009-08-25 15 views
6

この多次元配列から最初のキーを取得したいと思います。PHPを使用して多次元配列の最初のキーを取得

Array 
(
    [User] => Array 
     (
      [id] => 2 
      [firstname] => first 
      [lastname] => last 
      [phone] => 123-1456 
      [email] => 
      [website] => 
      [group_id] => 1 
      [company_id] => 1 
     ) 

) 

この配列は$ this-> dataに格納されます。

今、私はkey($ this-> data)を使用して 'User'を取得しますが、これは結果に到達する正しい方法とは感じられません。

この結果を取得する他の方法はありますか?

おかげ

+0

array_shift()も問題ないでしょう。 – Wayne

答えて

7

それが、として迅速かつkey()を使っ限り短く何をやって、他の方法があります。その他の使用方法は、すべてキーを取得するためのものです。たとえば、これらはすべて配列内の最初のキーを返します。

わかりましたが、両方がお粗末です。あなたはonelinerをしたいが、イテレータが最初の要素ではない場合、あなたは間違ったキーを得ることからあなた自身を保護したい場合は

、これを試してみてください。

reset($this->data); 

reset():

リセットを()は配列の内部の ポインタを最初の要素に巻き戻し、 は最初の配列 要素の値を返します。

しかし、あなたがしていることは私にはうまく見えます。あなたが望むものを1行で正確に実行する関数があります。他に何が欲しい?

+0

うーん、代わりにその方法を使用すると思います。 PHPマニュアルキー()によると ""と定義されています。key()は現在の配列位置のインデックス要素を返します。 ""何らかの理由で最初の配列位置にいないと、正しくないキーが返されます。 – user103219

+0

ありがとう、私はキー()に固執します。 – user103219

+1

申し訳ありませんあなたの最後の編集を見ました(編集には1分ほどかかります)... reset()はまさに私が探していたものでした。私はなぜ配列が最初の位置にないだろうかわからないが、むしろIDは申し訳ありませんより安全です! – user103219

0

使用この(PHP 5.5以降):

echo reset(array_column($this->data, 'id')); 
+0

あなたのコードを使って説明をしてもらえますか? OPや将来のユーザーに役立つかもしれません。 – Bono

関連する問題