摘要:众所周知在学习网站开发时数组也是一个非常绕脑且很关键的知识点。特别是涉及到多维数组,很多零基础的朋友往往是看着看着就晕头转向了。那么本篇文章就为大家详细介绍下在...
众所周知在学习网站开发时数组也是一个非常绕脑且很关键的知识点。特别是涉及到多维数组,很多零基础的朋友往往是看着看着就晕头转向了。那么本篇文章就为大家详细介绍下在php中常用的数组类型的创建以及循环输出。
数组是什么?
数组是一个能在单个变量中存储多个值的特殊变量。php数组,顾名思义就是PHP中的数组。其特点就是将values映射到keys的类型。与其他语言不同的是,PHP中数组的key可以是字符串,而values可以是任意类型。数组中每个数据都是一个键值对,以 key(下标) => value(值) 的形式存在。
空数组的两种创建方式:
$arr = array(); //php空数组创建方式1(通用) $arr = []; //php空数组创建方式2(PHP5.6以上版本支持)
索引数组:通常不指定数据下标,使用系统自带的下标
<?php $arr = [ '追梦男孩', '卡布丁', 'zmboy', ]; print_r($arr); //打印输出,通常用于代码调试 ?>
数组中多个数据以英文逗号(,)隔开。索引数组系统自带下标默认从0开始,
以上代码浏览器运行打印输出结果:
Array(
[0] => 追梦男孩
[1] => 卡布丁
[2] => zmboy
)
关联数组:自定义数据下标
<?php $arr =[ 'zhuimeng' => '追梦男孩', 'kabuding' => '可布丁', 'zb' => 'zmboy', '无限券购' ]; print_r($arr); ?>
关联数组下标可自定义。若关联数组中存在索引数据时下标从0开始,可指定下标从任意数开始。
浏览器运行打印输出结果:
Array(
[zhuimeng] => 追梦男孩
[kabuding] => 卡布丁
[zb] => zmboy
[0] => 无限券购
)
二维数组:一维数组中存在一维数组时叫做二维数组
$arr = array( 'zhuimen' => [ 'name' => '追梦男孩', 'age' => '20', ], 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', ], );
三维数组:一维数组中存在二维数组时称之为三维数组
$arr = array( 'zmboy' => [ 'name' => '追梦男孩', 'age' => '20', 'kecheng' => [ 'php编程', 'html前端', ], ], 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', 'kecheng' => [ 'php编程', 'html前端', 'js特效' ], ], );
使用 echo 输出数组中的数据
使用 echo 输出数组中的数据需带下标输出。格式:$数组名['指定需要输出的数据小标']。
注意:指定自定义下标时需用英文引号包裹
echo $arr['zmboy']['kecheng'][0]; //输出$arr下 zmboy 数组中的php编程
foreach 循环输出数组
语法:foreach(需要循环的数组 as 自定义变量接收循环出来的下标 => 自定义变量接收循环出来的数据){处理方式}
原理:循环第一次把数组$arr()中的第一条数据给到$value,循环第二次把数组$arr()中的第二条数据给到$value,以此类推直到将数组中的数据全部循环结束。循环一次便执行一次 { } 中的代码。foreach循环尽量对二维以上的数组进行循环
foreach循环输出一维数组
<?php header("Content-Type: text/html;charset=utf-8"); $arr = [ '追梦男孩', '卡布丁', 'zmboy', ]; foreach($arr as $key=>$value){ print_r($value); exit; //暂停php代码的执行,暂停后只循环一次输出第一条数据 } ?>
foreach嵌套循环二维数组
<?php header("Content-Type: text/html;charset=utf-8"); $arr = array( 'zhuimeng' => [ 'name' => '追梦男孩', 'age' => '20', ], 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', ], ); foreach($arr as $key=>$value){ foreach($value as $k=>$v){ echo $k.'--'.$v; //在php中英文句号为连接符号,可以把两个字符串连接起来为一个字符串 exit; //暂停php代码的执行 }; }; ?>
foreach嵌套 if 判断循环
当一个数组中即存在一维数组又存在多维数组时单纯的foreach循环就不好使了,此时就需要嵌套 if 判断语句了
<?php header("Content-Type: text/html;charset=utf-8"); $arr = array( 'name' => '追梦男孩', 'age' => '20', 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', ], ); foreach($arr as $k=>$v){ //首次循环 if(is_array($v)){ //判断 $v 是否依旧是数组,is_array() php函数判断是否是数组。 foreach($v as $key=>$value){ //如果是,继续循环 $v echo $value ; echo '<br>'; }; }else{ //如果不是,则直接输出 $v echo $v; echo '<br>'; }; }; ?>
补充:if 判断语法:
if( 判断条件,取值true或false ){ 当条件为true时的处理方式 }else{ 当条件为false时的处理方式 };
foreach循环可以通过指定下标循环数组中的某个数组
语法:foreach[$arr[1] as $k=>$v]{}
<?php header("Content-Type: text/html;charset=utf-8"); $arr = array( 'name' => '追梦男孩', 'age' => '20', 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', ], ); foreach($arr['kabuding'] as $k=>$v){ echo $v; echo '<br>'; }; ?>
foreach循环还可以通过if判断下标是否等于某个特定值来获取数组中的单个值
<?php header("Content-Type: text/html;charset=utf-8"); $arr = array( 'name' => '追梦男孩', 'age' => '20', 'kabuding' => [ 'name' => '卡布丁', 'age' => '18', ], ); foreach($arr['kabuding'] as $k=>$v){ if($k=='name'){ echo $v; }; }; ?>
以上便是php中常见的数组类型以及循环输出的整理。更多内容敬请期待下次更新……
本篇文档由 zmboy 从日常学习中精心整理而出,有任何疑问均可留言评论,转载请以超链接形式注明出处!