一、创建数组
// 两种方法 一是用array() 、 二是用[] // 首先创建一个一维空数组 $arr_null = array( ); var_dump($arr_null); //array(0) { }
二、关联数组和索引数组
//创建一个有值的数组 索引数组 下标是数字默认从0开始 $arr1 = array( 'php', 'html', 'css', 'js', 'ajax' ); var_dump($arr1); //array(5) { [0]=> string(3) "php" [1]=> string(4) "html" [2]=> string(3) "css" [3]=> string(2) "js" [4]=> string(4) "ajax" } echo '<hr>'; //创建一个关联数组 数组的键可以是自定义的字符串或者数字 同一个数组里的下标不可以定义重复,不然后面会把前面的值覆盖。 $arr2 = array( 'backend'=>'php', 'front'=>'html' ); print_r($arr2); //Array ( [backend] => php [front] => html )
三、访问数组
//一维数组的访问 通过存储数组的变量名去找到它 然后通过数组下标去访问里面对应的值 echo '<br>'; echo $arr1[0]; //php echo '<br>'; echo $arr2['backend']; //php echo '<hr>';
四、创建多维数组
//创建一个二维数组 二维数组就是数组的值还是一个数组 $arr3 = array( 'class1'=>array( 'Mon'=>'php', 'Tue'=>'html', 'Wed'=>'css' ), 'class2'=>array( 'Mon'=>'php', 'Tue'=>'html', 'Wed'=>'css' ), 'class3'=>array( 'Mon'=>'php', 'Tue'=>'html', 'Wed'=>'css' ) ); print_r($arr3); //Array ( [class1] => Array ( [Mon] => php [Tue] => html [Wed] => css ) [class2] => Array ( [Mon] => php [Tue] => html [Wed] => css ) [class3] => Array ( [Mon] => php [Tue] => html [Wed] => css ) )
二维数组的访问
// 二维数组的访问 其实和一维数组是一样的 先找到对应的存储变量然后再一层一层的去找需要的值 // 要注意的是echo用于输出数组会报错 echo '<br>'; echo $arr3['class1']['Mon']; //php echo '<br>'; print_r($arr3['class1']); //Array ( [Mon] => php [Tue] => html [Wed] => css )
创建三维数组
//三维数组 数组最好不要超过三维 $arr4 = array( array( '雷军', array( 'sys'=>'MIUI' ) ), array( '罗永浩', array( 'sys'=>'Smartisan OS' ) ), array( '黄章', array( 'sys'=>'Flyme' ) ) );
五、数组的循环
//使用foreach //可以只循环值也可以循环键和值,一维数组一般没必要循环。因为用下标就可以访问到它的值。 foreach($arr2 as $key=>$value){ echo $key.'===>'.$value.'<br>'; } /*输出 backend===>php front===>html */ //二维数组循环 echo '<hr>'; foreach($arr3 as $key=>$value){ print_r($value); //循环出来还是一个数组 } echo '<br>'; //使用嵌套循环 foreach($arr3 as $key=>$value){ foreach($value as $k=>$v){ echo $v.'<br>'; //可以echo出来值了 但是数据量大时候会拖慢程序 } } echo '<br>'; //这样循环 foreach ($arr3 as $key => $value) { //$key是class1,class2,class3 //$value是第二层数组 //取$value数组中的键Mon、Tue、Wed的值 print_r($value['Mon']); //php php php echo '<br>'; } echo '<hr>'; //循环三维数组 foreach ($arr4 as $key => $value) { echo 'name:'.$value[0].'<br>'; echo 'sys:'; foreach($value[1] as $k => $v){ echo $v; } echo '<hr>'; }
结果
手抄
总结:数组的知识非常重要。可以说在php开发中大部分的时间都在和数组打交道,对数组的基础知识掌握就尤为重要,还是那句要灵活运用。数组的遍历以及多维数的取值真的很难去用大脑想象模拟,说白了就是经常脑子反应不过来。继续练习,积累。