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 只有一个键(在这种情况下为 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

是的,只需摆脱您的第一个 foreach 并使用外部数组的已知 $key 定义您正在使用的数组。

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

如果一个数组只有一个元素,您可以通过以下方式获取它reset

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

一个非常简洁的方法是

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