1

次の配列を検討してください。

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

内側の配列を操作したいときはいつでも、次のようにします。

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

外側の foreach ループは、$array の $key と $value のペアを分割するためにあります。これは、多くのキー ([23]、[24]、...)を持つ配列では問題なく機能しますが、$array のキーが 1 つ(この場合は 23)しかないことが事前にわかっている場合は冗長に見えます。そのような場合、値からキーを分割するより良い方法はありませんか? 何かのようなもの

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

私は自分自身を明確にしたことを願っています。

4

4 に答える 4

2

reset配列の最初の要素をkey返し、そのキーを返します。

$your_inner_arr = reset($array);
$your_key = key($array);
于 2012-04-18T18:11:35.830 に答える
1

配列に要素が 1 つしかない場合は、次のようにして取得できますreset

$ar = array(23 => array('foo', 'bar'));
$firstElement = reset($ar);
于 2012-04-18T18:11:44.420 に答える
1

そうです、最初の foreach を取り除き、使用している配列を外部配列の既知の $key で定義するだけです。

foreach ($array[23] as $key =>$val):
   //do whatever you want in here
endforeach;
于 2012-04-18T18:11:34.183 に答える
0

非常に簡潔なアプローチは次のようになります

foreach(array_shift($array) as $item) {
    echo $item;
}
于 2013-05-22T01:27:15.203 に答える