目录
七、数组
(一)数组的基本概念
复合数据类型,非线性
键值对(key-value),key代表着存储数组中变量的编号(一般就是整数和字符串),value存储进来的变量的值。
索引数组,变量的“编号”是证书,证书不具备一定的语义。
关联数组,变量的“编号”用字符串表示,可以具备一定的语义,PHP中最常用的方式。
<?php
//描述一个人基本信息
$name = "xiaofeng";
$age = 21;
$sex = true;
$weight= "56kg";
$stu1[] = $name;
$stu1[] = $age;
$stu1[] = $sex;
$stu1[] = $weight;
echo "<pre>";
var_dump($stu1);
//echo $stu1;
?>
注意:echo语句不能够输出数据,可以使用print_r()函数输出数组。
(二)数组的分类
数组根据下标可分为:索引数组,关联数组,混合数组
数组下标若全为数字,那么称之为****索引数组
数组下标若全为字符串,那么称之为****关联数组
(三)数组的特点
可以整数下标或者字符串下标
不同下标可以混合存在
数组元素的顺序以放入顺序为准,跟下标无关
数字下标的自增长特性
特殊值下标的自动转换
(四)数组的创建
1.直接赋值
变量名称[索引值]=数据;
变量名称[]=数据;//不写索引值默认是数值数组,从0开始。
<h3>数组的创建:直接赋值</h3>
<h4>索引数组</h4>
<?php
header("Content-type:text/html;charset=gbk");
$stu1[] = "chuhe";
$stu1[] = true;
$stu1[] = 24;
$stu1[] = "56kg";
echo "<pre>";//格式化输出
//var_dump($stu1);
print_r($stu1);
?>
<hr>
<?php
$stu2[5] = "xiaofeng";//可以指定键值
$stu2[1000] = true;
$stu2[500] = 22;
$stu2[] = "55.8kg";//也可以不指定,按照最大值依次往下排
#print_r($stu2);//有的时候不一定全部信息都输出
var_dump($stu2);
?>
<h4>关联数组</h4>
<hr>
<?php
$stu3['name'] = "qingniao";
$stu3['age'] = 20;
$stu3['sex'] = False;
$stu3['weight'] = '45kg';
var_dump($stu3);
print_r($stu3);
?>
2.array()赋值
数组中的key可以自定义
PHP中的key大多为字符串或者数字,字符串比较容易了解变量的含义。
array()不是函数,只是一种语言结构。
<h3>数组的创建:array语言结构</h3>
<?php
header("Content-type:text/html;charset=gbk");
$stu1 = array("chuhe",true,24,'56kg');echo "<pre>";
var_dump($stu1)//索引数组
?>
<hr>
<?php
$stu2 = array(
10 => 'qingniao',//=>连接key和value
false,
2000 => 20,
"45kg"
);
print_r($stu2);//索引数组
?>
<hr>
<?php
$stu3 = array(
'name' => 'xiaofeng',//key最好用引号,否则会有notice提示!
'age' => '22',
'sex' => true,
'weigth' => "55.6kg"
);
var_dump($stu3);
?>
(五)数组对元素的访问
读取,捕获数组中的value
修改,直接赋值即可
增加,直接赋值即可
删除,无意义
<h3>数组元素的访问</h3>
<?php
header("Content-type:text/html;charset=gbk");
$stu1 = array("chuhe",true,24,'56kg');echo "<pre>";//索引数组
?>
<?php
$stu2 = array(
10 => 'qingniao',
false,
2000 => 20,
"45kg"
);//索引数组
?>
<?php
$stu3 = array(
'name' => 'xiaofeng',
'age' => '22',
'sex' => true,
'weigth' => "55.6kg"
); //关联数组
#$stu = array($stu1,$stu2,$stu3);//二维数组,属于混合数组
$stu = array('stu1' => $stu1,'stu2' => $stu2,'stu3' => $stu3);
//var_dump($stu);
print_r($stu);
echo "楚河的年龄是:".$stu1[2]."<hr>";
echo "青鸟的年龄是:".$stu2[2000]."<hr>";
echo "萧风的年龄是:".$stu['stu3']['age']."<hr>";
for($i=1;$i<6;$i++){
$stu['stu3']['age']++; //几年过去了,萧风的年龄在生长
}
echo "几年过去后,萧风年龄是:".$stu['stu3']['age']."<hr>";
$result = "work hard!";
$stu3['pj'] = $result;
//print_r($stu3);
//echo "萧风被老板的评价是:".$stu3['pj'].'<hr>';
$stu['stu3'] = $stu3;//必须重新更新一下二维数组的key值
echo "萧风被老板的评价是:".$stu['stu3']['pj'].'<hr>';
?>
(六)数组的遍历
1.for循环
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新