Php 如何遍历多维数组
我有一个数组,看起来像这样:Php 如何遍历多维数组,php,arrays,loops,multidimensional-array,Php,Arrays,Loops,Multidimensional Array,我有一个数组,看起来像这样: Array ( [apple] => Array ( [0] => 689795 [1] => September 2012 [2] => 689795 [3] => September 2012 [4] => 1113821 [5] => June 2013
Array
(
[apple] => Array
(
[0] => 689795
[1] => September 2012
[2] => 689795
[3] => September 2012
[4] => 1113821
[5] => June 2013
[6] => 1122864
[7] => July 2013
)
[pear] => Array
(
[0] => 1914898
[1] => September 2012
[2] => 1914898
[3] => September 2012
[4] => 1914646
[5] => September 2012
[6] => 1914898
[7] => September 2012
)
)
['September 2012', 689795],
['September 2012', 689795],
['June 2013', 1113821],
['July 2013', 1122864],
我想做的是循环通过“apple”元素并输出如下内容:
Array
(
[apple] => Array
(
[0] => 689795
[1] => September 2012
[2] => 689795
[3] => September 2012
[4] => 1113821
[5] => June 2013
[6] => 1122864
[7] => July 2013
)
[pear] => Array
(
[0] => 1914898
[1] => September 2012
[2] => 1914898
[3] => September 2012
[4] => 1914646
[5] => September 2012
[6] => 1914898
[7] => September 2012
)
)
['September 2012', 689795],
['September 2012', 689795],
['June 2013', 1113821],
['July 2013', 1122864],
我怎样才能做到这一点?所以我的主要目标是将日期和值组织在一起
我的数组数据比上面的示例长得多,但我只需要帮助就可以获得一个工作代码来循环和回显上面的示例
我已经尝试过使用foreach的foreach
,但是我无法让它工作。我对PHP相当陌生。请执行以下操作:
foreach ($first_array as $first_key=>$first_val) {
foreach ($first_val as $second_key=>$second_val){
echo $second_val;
}
}
这将在第一个数组上循环。然后,对于从第一个循环(即嵌套数组)获得的每个值,再次执行for循环
现在,您的$second\u val第一次是“键”,第二次是“日期”。执行以下操作:
foreach ($first_array as $first_key=>$first_val) {
foreach ($first_val as $second_key=>$second_val){
echo $second_val;
}
}
这将在第一个数组上循环。然后,对于从第一个循环(即嵌套数组)获得的每个值,再次执行for循环
现在,$second\u val第一次是“键”,第二次是“日期”。如果您的“内部”数组始终有8个元素,请使用外部
foreach
对结果进行迭代,并使用内部进行循环:
foreach ($array as $fruit) {
for ($i == 1; $i <= 7; $i += 2) {
echo $fruit[$i] . ", " . $fruit[$i-1] . "<br />";
} // for
} // foreach
foreach($fruit作为数组){
对于($i==1;$i如果您的“内部”数组始终有8个元素,请使用外部foreach
来迭代结果,并使用内部for
循环:
foreach ($array as $fruit) {
for ($i == 1; $i <= 7; $i += 2) {
echo $fruit[$i] . ", " . $fruit[$i-1] . "<br />";
} // for
} // foreach
foreach($fruit作为数组){
对于($i==1;$i我将使用array_chunk来实现类似的功能,这可能是最小、最干净的代码
foreach (array_chunk($arr['apple'], 2) as $row) {
echo "['$row[1]', $row[0]],<br />";
}
foreach(数组块($arr['apple'],2)作为$row){
回显“['$row[1]',$row[0]],
”;
}
我会使用array\u chunk来编写类似的代码,可能是最小、最干净的代码
foreach (array_chunk($arr['apple'], 2) as $row) {
echo "['$row[1]', $row[0]],<br />";
}
foreach(数组块($arr['apple'],2)作为$row){
回显“['$row[1]',$row[0]],
”;
}
通过使用嵌套循环reset
&2each()
在循环中调用似乎很方便,foreach(array_chunk($array['apple'],2)as$combo){}
也是一种可能。通过使用嵌套循环reset
&2each()
在循环中调用似乎很方便,foreach(array_chunk($array['apple'],2)作为$combo){}
也是一种可能性。