在之前的文章中给大家带来了《三分钟带你搞定PHP过滤器(实例详解)》,其中详细的介绍了PHP过滤器的相关知识,本篇文章我们来看一下PHP中的多维数组相关知识,希望对大家有帮助!
通过前面的学习我们知道了,PHP中的数组可以储存所有类型的数据,其中当然包括了数组本身。这时候当一个数组中的元素就是另一个数组是,这个构成包含数组的数组应该怎样来源gao@daima#com搞(%代@#码网称呼,当这个被包含的数组内的元素还是一个数组的时候,我们又要怎么处理呢?
数组简单来说就是一种数或者简单的列表,有时候我们希望用一个以上的键来保存数据,这时候就需要用到我们刚才说到的那种包含的数组了,这样的就被称为多维数组,接下来我们一起来看一下多维数组的相关知识吧。
二维数组
上文中我们说了,当一个数组中的元素就是另一个数组的时候,这个构成包函数组的数组就是二维数组,二维数组简单地理解为数组的数组。那它的声明方式和普通的数组有没有区别呢?
二维数组和一维数组的的声明方式是一样的,只是将数组中的一个或者多个元素也声明成了一个数组,同时也有直接为数组元素赋值和使用array() 函数两种声明二维数组的方法。
下面我们通过示例来看一下使用直接为数组元素赋值的方式来声明一个数组,示例如下:
<?php $array[0]['name'] = 'father'; $array[0]['year'] = '1949'; $array[0]['age'] = '72'; $array[1]['name'] = 'mother'; $array[1]['year'] = '1949'; $array[1]['age'] = '72'; echo '<pre>'; print_r($array); ?>
输出结果:
在上述示例中,这是使用了直接为数组元素赋值的方式来声明了一个数组,接下来我们看一下通过array()
函数来声明一个二维数组的情况,示例如下:
<?php $array = array( array('name'=>'father','year'=>'1949','age'=>'72'), array('name'=>'mother','year'=>'1949','age'=>'72') ); echo '<pre>'; print_r($array); ?>
输出结果与上述示例中的输出结果一致。
声明了一个二位数组后,想要获取其中的元素也是很简单的,和一维数组也是类似的,只需要注明每个维度的下标就行了。
接下来我们通过示例来看一下怎样获取二位数组中的元素,示例如下:
<?php $array = array( array('name'=>'father','year'=>'1949','age'=>'72'), array('name'=>'mother','year'=>'1949','age'=>'72') ); echo '<pre>'; print_r($array); echo $array[0]['name'].'在'.$array[0]['year'].'年出生,今年已经'.$array[0]['age'].'岁了<br/>'; echo $array[1]['name'].'在'.$array[1]['year'].'年出生,今年已经'.$array[1]['age'].'岁了'; ?>
输出结果:
其中我们需要注意的是:数组的不同维度标志着我们需要使用几个下标来获取对应的数组元素,比如二维数组需要使用两个下标来获取对应的数组元素,三维数组则需要三个,以此类推。