数组

数组

  • 用于存放多个数据的数据类型
  • 数组是关键字和值的集合
	//[0]:下标(关键字)
	//$arrayTest[0]:数组的一个元素
	//$arrayTest[0]=1;1表示$arrayTest[0]元素对应的值
	//$arrayTest数组名称
	$arrayTest[0]=1;
	$arrayTest[1]=2;
	$arrayTest[2]=3;
  • 元素存放的值可以是任意类型
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$arrayTest[0]=1;
	$arrayTest[1]="wowo";
	$arrayTest[2]=3.14;
	$arrayTest[3]=false;
	$arrayTest[4]=NULL;
	echo count($arrayTest); //5
?>
</html>

数组的三种创建方式

  • 方式一
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$arrayTest[0]=1;
	$arrayTest[1]="wowo";
	$arrayTest[2]=3.14;
	$arrayTest[3]=false;
	$arrayTest[4]=NULL;
	echo count($arrayTest); //5
?>
</html>
  • 方式二
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php

	//方式二
	$arrayTest = array(1,"wowo",3.14,false,NULL);

	for($i=0;$i<count($arrayTest);++$i){
		echo 'arrayTest[$i]='.$arrayTest[$i];
		echo "<br/>";
	}
?>
</html>
  • 方式三:自己指定关键字
  • 错误演示,不能通过下标0,1…来访问元素
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php

	//方式三:自己指定关键字
	$arrayTest['a1']=1;
	$arrayTest['a2']=2;
	for($i=0;$i<count($arrayTest);++$i){
		echo 'arrayTest[$i]='.$arrayTest[$i];
		echo "<br/>";
	}
	
?>
</html>

在这里插入图片描述

  • 正确演示
  • foreach($数组名 as $value):$value代表数组元素的值
  • foreach($数组名 as $key=>$val):$key代表关键字,$value代表数组元素的值
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php

	//方式三:自己指定关键字
	$arrayTest['a1']=1;
	$arrayTest['a2']=2;
	echo $arrayTest['a1']."<br/>";
	//foreach语句!!!
	foreach($arrayTest as $value){
		echo $value."<br/>";
	}
	foreach($arrayTest as $key=>$value){
		echo "$key=".$value."<br/>";
	}
?>
</html>

在这里插入图片描述

一维数组

  • 创建数组时,如果没有给某个元素指定下标,php就会自动用之前相邻下标值自增得到该元素的下标值。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php

	$arrayTest=array(4=>"hello",6=>"yes",789);
	echo $arrayTest[5]."<br/>";
	echo $arrayTest[6]."<br/>";
	echo $arrayTest[7];
?>
</html>

在这里插入图片描述

  • 使用true作为键名即整型1作为键名;使用false作为键名即整型0作为键名。
  • 使用NULL作为键名等同于使用空字符串;使用空字符串作为键名将新建(或者覆盖)一个用空字符串作为键名的值。
  • 使用小数点作为键名,将自动截断小数部分。
  • 不能使用数组或者对象作为键名。
  • print_r($数组名);//将数组的所有信息显示出来。
  • var_dump($数组名);//将数组更详细的信息显示出来。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$arrayTest[true]=123;
	echo $arrayTest[1]."<br/>";
	$arrayTest[false]=456;
	echo $arrayTest[0]."<br/>";
	$arrayTest[NULL]="hello";
	echo $arrayTest[""]."<br/>";
	$arrayTest[""]="world";
	echo $arrayTest[NULL]."<br/>";
	$arrayTest[11.11]="everybody";
	echo $arrayTest[11.11]."<br/>";
	echo $arrayTest[11]."<br/>";
	print_r($arrayTest);
	echo "<br/>";
	var_dump($arrayTest);
?>
</html>

在这里插入图片描述

php中数组动态增长

  • 分析案例
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$arrayTest=array(1,2);
	$arrayTest[2]=3;
	foreach($arrayTest as $value){
		echo $value."<br/>";
	}
?>
</html>

在这里插入图片描述

一维数组的常用函数

  • count($数组名):统计数组的元素个数
  • is_array($数组名):判断变量是否是一个数组
  • print_f( 数 组 名 ) 和 v a r d u m p ( 数组名)和var_dump( )vardump(数组名):显示数组
  • explode(“按照什么拆分”,字符串):拆分字符串
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$stringTest="西安 北京 深圳 上海";
	$arrayTest=explode(" ",$stringTest);
	foreach($arrayTest as $value){
		echo $value."<br/>";
	}
?>
</html>

在这里插入图片描述

  • unset函数销毁某个元素,也可销毁某个变量。注意:销毁元素后,关键字(下标)不会重新组合。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$arr[0]=12;
	$arr[1]=34;
	$arr[2]="hello";
	echo "销毁前=".$arr[1]."<br/>";
	unset($arr[1]);
	echo "销毁后=".$arr[1]."<br/>";
	print_r($arr);
?>
</html>

在这里插入图片描述

  • 数组运算符

    • 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<?php
	$a=array("a"=>"a1","b"=>"a2");
	$b=array("a"=>"b1","b"=>"b2","c"=>"b3");
	$c=$a+$b;
	print_r($c);
	echo "<br/>";
	$d=$b+$a;
	print_r($d);
	echo "<br/>";
?>
</html>

在这里插入图片描述
在这里插入图片描述

  • 数组小结

    • 数组可存放任意类型的数据
    • 数组大小不必事先指定,可以动态增长
    • 数组名是指向数组首地址的引用
    • 数组中的元素以key=>value的形式存在
    • 创建数组时,如果没有给某个元素指定下标,php就会自动用之前相邻下标值自增得到该元素的下标值
  • 数组实例:统计平均数

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
//界面互动
<form action="3.php" method="post">

<input type="text" name="datas" value="请输入数据,以空格分离"/>
<input type="submit" name="submit" value="提交"/>
</form>
</body>
</html>
<html>
<body>
<?php
	//重点:读取其他页面的值
	$datas=$_REQUEST['datas'];
	
	$arr=explode(" ",$datas);
	$avg=0.0;
	foreach($arr as $value){
		$avg+=$value;
	}
	//rount($变量,整数值):保存几位小数
	echo "平均值=".(round($avg/count($arr),2));
?>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

二维数组

  • 基本语法

    • $arr=array(array(),array()…)
    • $arr=array(array(1,2),array(3,4));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值