上QQ阅读APP看书,第一时间看更新
6.2 二维数组和多维数组
前面所述的都是一维数组,PHP中还有二维数组和多维数组,这两种数组在实际编程中也经常用到,本节介绍二维数组和多维数组及其使用。
6.2.1 二维数组
将两个一维数组组合起来就可以构成一个二维数组,使用二维数组可以保存较为复杂的数据,在一些场合经常用到。示例如下:
<? php $person=array('lily'=>array('age'=>'20 years', 'weight'=>'50kg', 'hobby'=>'sleep'), 'Tom'=>array('age'=>'12 years', 'weight'=>'40kg', 'hobby'=>'eat'), 'Andy'=>array('age'=>'30 years', 'weight'=>'70kg', 'hobby'=>'write') ); print_r($person); ?>
Lily、Tom和Andy对应的值分别是一个一维数组,这3个一维数组组成了一个二维数组。运行该程序的结果为:
Array ( [lily] => Array ( [age] => 20 years [weight] => 50kg [hobby] => sleep ) [Tom] => Array ( [age] => 12 years [weight] => 40kg [hobby] => eat ) [Andy] => Array ( [age] => 30 years [weight] => 70kg [hobby] => write ) )
6.2.2 多维数组
参考二维数组,举一反三,可以很容易地创建三维数组、四维数组或者其他更高维数的数组。定义一个三维数组的示例如下:
<? php $arr=array(’安徽’=>array(’阜阳’=>array(’阜南县’, ’临泉县’, ’颍州区’), '宿州’=>array(’墉桥区’, ’灵璧县’, ’泗县’), '合肥’=>array(’蜀山区’, ’长丰县’, ’肥东’)), '河南’=>array(’洛阳’=>array(’西工区’, ’老城区’, ’孟津县’), '郑州市’=>array(’中原区’, ’金水区’)) ); print_r($arr); echo$array[’安徽’][’宿州’][0]; // 输出墉桥区 ?>
其中,“安徽”对应的是一个二维数组,“阜阳”“宿州”“合肥”分别对应一个一维数组。同理,“河南”也对应一个二维数组。“安徽”和“河南”分别对应一个二维数组,它俩组合起来形成一个多维数组。
PHP中对多维数组没有上限的固定限制,但是随着维度的增加数组会越来越复杂,对于阅读调试和维护都会稍微困难些。