2012-04-18 21 views
1

次の配列を考えてみましょう:分割配列=>配列()

$array[23] = array(
    [0] => 'FOO' 
    [1] => 'BAR' 
    [2] => 'BAZ' 
); 

私は内側の配列で仕事をしたいときはいつでも、私はこのような何か:

foreach ($array as $key => $values) { 
    foreach ($values as $value) { 
    echo $value; 
    } 
} 

外側のforeachを-loopは、$ arrayの$ keyと$ value-pairsを分割するためのものです。これは多くのキー([23]、[24]、...)を持つ配列でうまく動作しますが、$(この場合は23)のキー配列しか持たないことを事前に知っていれば、冗長のと思われます。そのような場合には、値からキーを分割するより良い方法はありませんか?何かのように

split($array into $key => $values) 
foreach ($values as $value) { 
    echo $value; 
} 

私は自分自身を明確にしたいと思います。

答えて

2

resetおアレイとkeyの最初の要素がその鍵を返します:

$your_inner_arr = reset($array); 
$your_key = key($array); 
1

あなたの最初のforeachを取り除いて、使用している配列をアウトター配列の$キーで定義してください。

foreach ($array[23] as $key =>$val): 
    //do whatever you want in here 
endforeach; 
1

配列が一つだけの要素を持っている場合、あなたはresetでそれを得ることができます:

$ar = array(23 => array('foo', 'bar')); 
$firstElement = reset($ar); 
0

非常に簡潔なアプローチは、

foreach(array_shift($array) as $item) { 
    echo $item; 
}