当每个键都是字符串时,在PHP中迭代多维关联数组
我有一个数组,如:当每个键都是字符串时,在PHP中迭代多维关联数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个数组,如: $fruits = array( 'citrus' => array( 'fruit one' => 'orange', 'fruit two' => 'lime', ), 'melon' => array( 'fruit one' => 'honeydew', 'fruit two' => 'cantalope', ), 'berry' => array( 'fruit o
$fruits = array(
'citrus' => array(
'fruit one' => 'orange',
'fruit two' => 'lime',
),
'melon' => array(
'fruit one' => 'honeydew',
'fruit two' => 'cantalope',
),
'berry' => array(
'fruit one' => 'raspberry',
'fruit two' => 'strawberry',
),
'apple' => array(
'fruit one' => 'granny smith',
'fruit two' => 'fuji',
)
);
我希望能够访问它的片段,比如echo$fruits[0]['fruitone']代码>这样我就可以创建一个for循环来获取数组的特定组。我的意思是,理想情况下,我能够做以下事情:
for($i = 0; $i <= 1; $i++)
echo $fruit[$i]['fruit one'];
// Then some other code
for($i = 2; $i <= 3; $i++)
echo $fruit[$i]['fruit one'];
for($i=0;$iarray\u slice
()就是为此而制作的
对于前两个水果组:
foreach(array_slice($fruits,0,2) as $fruitGroup) echo $fruitGroup['fruit one'];
foreach(array_slice($fruits,2,2) as $fruitGroup) echo $fruitGroup['fruit one'];
对于接下来的两个水果组:
foreach(array_slice($fruits,0,2) as $fruitGroup) echo $fruitGroup['fruit one'];
foreach(array_slice($fruits,2,2) as $fruitGroup) echo $fruitGroup['fruit one'];
这样做的好处是简单(优于Chrys的解决方案),并且不会破坏数组中的原始密钥。Tomulent,下面Ben的回答是否让您满意?它允许您循环遍历每个水果组中的每个水果。如果这不是您想要的(我无法从OP中看出),请重新表述您正在寻找的内容或更好地描述所需的输出。我编辑了原始内容,希望能让它更清晰。我的真实数组中有40个数组。我需要一次获取一个数组范围。切换我接受的答案,因为这是最简单的。Chrys的操作可以在不破坏键的情况下完成,但这需要大量less代码。谢谢!你们今天都教了我一些东西!Chrys你们实际上不需要$i
。只要用$ptr[]=$values
添加值,PHP就会为你们自动递增键。