phpで配列の最初の要素のキーを取得するスマートな方法

phpで配列の最初の要素のキーを取得するスマートな方法
0
@sc_yoshinaga

@uechoco 空配列だとNULL返ってきます。(1)のパターンで先にリセットするのと一緒。ご無沙汰でーす!

2010-10-20 19:00:51
うえちょこ🐤🔤 @uechoco

@sc_yoshinaga けっこうスッキリした書き方でいいですね! そしてお久しぶりです

2010-10-20 18:59:09
@sc_yoshinaga

内部でreset()されちゃうからresetするのと大してかわんないけど。

2010-10-20 18:56:05
@sc_yoshinaga

@uechoco key(array_slice($array, 0, 1)); これでどう? $arrayは配列であれば空でもOK

2010-10-20 18:53:38
Kousuke Ebihara💉💉 💉 💉 @co3k

@uechoco スマートさゼロですが array_shift(array_flip($data));

2010-10-18 22:20:10
えありすっ♪ @aerith

というか空かどうかはその前にたしかめよう。

2010-10-18 22:02:32
ばりばり @balibali

@uechoco foreach ($data as $name => $gomi) break; とか

2010-10-18 22:02:08
えありすっ♪ @aerith

@uechoco いや reset じゃなくてcurrent でいいじゃんね

2010-10-18 22:01:46
えありすっ♪ @aerith

@uechoco array_keys でやるんだったら 0 で取ると空のとき怒られるから $key = reset(array_keys($data)); とかするくらいかなあ。

2010-10-18 22:01:07
うえちょこ🐤🔤 @uechoco

できそうですが他と比べてパッと見でちょっと分かりにくかも知れないですね RT @hiromi2424: @uechoco array_search(curent($array), $array) とか。引数の順序は自信ないでし

2010-10-18 21:55:58
ひろみ @hiromi2424

捻りすぎた。current(array_keys(でいいじゃん。

2010-10-18 21:54:41
うえちょこ🐤🔤 @uechoco

@casui key()はポインタ移動しないとは!

2010-10-18 21:54:23
Daisuke Katsura @casui

@uechoco あぁ、あとリファレンスによるとkeyはポインタを移動しないらしいのでresetナシでよいぽいよ。ポインタが先頭にあることが保証されてるならkeyがスマートかもね。

2010-10-18 21:50:26
ひろみ @hiromi2424

@uechoco array_search(curent($array), $array) とか。引数の順序は自信ないでし

2010-10-18 21:49:18
Daisuke Katsura @casui

@uechoco list($name) = array_keys($data); かなぁ。

2010-10-18 21:48:58
うえちょこ🐤🔤 @uechoco

array_shift()があるならarray_key_shift()も欲しくなるなぁ。。。 #php

2010-10-18 21:40:09
うえちょこ🐤🔤 @uechoco

@sotarok たしかにreset()が先だ。(1)派がいて安心。変なことしてるのかと思って。。。

2010-10-18 21:39:06
うえちょこ🐤🔤 @uechoco

@aerith reset($data);list($key, $value) = each($data);reset($data); でポインタが元通り。each()よりはkey()のほうがスマートな気がするかなぁ

2010-10-18 21:36:51
えありすっ♪ @aerith

@uechoco あ、配列のポインタは進んじゃうけど。

2010-10-18 21:34:32
Sotaro Karasawa🍺 @sotarok

@uechoco まさに今そんなことをやっていたw (1) だなー、でも reset() が先じゃね?

2010-10-18 21:33:59
うえちょこ🐤🔤 @uechoco

【緩募】phpで配列の最初の要素のキーを取得するスマートな方法。 / とりあえず自分で考えた方法は(1) $name=key($data);reset($data) OR (2) $keys=array_keys($data);$name=$keys[0];

2010-10-18 21:31:24