キーさえわかってしまえば、前の値や次の値も簡単に取れる。
array_keysを使ってキーだけの配列を作り、
更にキーだけの配列に第二引数つきのarray_keysを使って取得するのもありだとは思うが、
配列が大きい時に、array_keysで更に配列を作ると効率が悪い。
そういう時は素直にforeachで調べるのがベター。
//link・・・http://mio-koduki.blogspot.jp/2012/05/php.html
//第一引数・・・調べたい配列
//第二引数・・・基準となるキー
//返り値・・・調べたい配列の、基準となるキーの前のキーが返る。なければfalse
function prev_key($array,$key)
{
$tmp=false;
foreach($array as $k=>$v)
{
if($k==$key)
{
return $tmp;
}
$tmp=$k;
}
return false;
}
//link・・・http://mio-koduki.blogspot.jp/2012/05/php.html
//第一引数・・・調べたい配列
//第二引数・・・基準となるキー
//返り値・・・調べたい配列の、基準となるキーの次のキーが返る。なければfalse
function next_key($array,$key)
{
$tmp=false;
foreach($array as $k=>$v)
{
if($k==$key)
{
$tmp=$k;
}
elseif($tmp!==false)
{
return $k;
}
}
return false;
}
記述的にはarray_keysなどを使ったほうがスマートに見えるが、
処理速度やメモリなどを考慮するとやはりforeachで処理するのがベターだと思う。
0 件のコメント:
コメントを投稿