吾爱乐享
个人学习网站

php学习之数组的相关知识-注意事项

1.数组的介绍

说明:一组数据的集合,数组是由元素组成

案例:求学生的总分数和平均分数

常规的做法:

<?php

/**
* @Author: 吾爱乐享
* @Date: 2018-09-17 22:16:42
* @Last Modified by: 吾爱乐享
* @Last Modified time: 2018-09-17 22:33:03
*/
//求学生的总分数和平均分数
//常规的做法
$yuwen = 70;
$shuxue = 90;
$yingyu = 50;
$tiyu = 100;
$sum = $yingyu + $shuxue +$yingyu + $tiyu;
$ave =$sum / 4;
echo “总分数为:{$sum},平均分数:{$ave}”;

数组的做法:

<?php

/**
* @Author: 吾爱乐享
* @Date: 2018-09-17 22:16:42
* @Last Modified by: 吾爱乐享
* @Last Modified time: 2018-09-17 22:33:03
*/
//求学生的总分数和平均分数
//数组的做法
$arr = array($yingyu, $shuxue, $yingyu, $tiyu);
$sum = 0;
$num = 0;
for($i = 0; $i<count($arr); $i++){
$sum += $arr[$i];//总分数
$num++;//总的科目数
}
$ave = $sum / $num;//平均分数
echo “总分数为:{$sum},平均分数:{$ave}”;

2.数组的创建

数组有三种创建方式:

  1. 变量 = array(元素1,元素2,元素3,……);
  2. 变量 = array(元素的值1,元素的值2,元素的值3,…..);
  3. 变量[下标] = 值;
//数组的创建
//方式一:变量 = array(元素1,元素2,元素3,......);
$arr1 = array('name' => '张三', 'age' => 23, 'sex' => '男');
echo '方式一:<br>';
var_dump($arr1);
//方式二:变量 = array(元素的值1,元素的值2,元素的值3,.....);
$arr2 = array('李四', 24, '男');
echo '方式二:<br>';
var_dump($arr2);
//方式三:变量[下标] = 值;
$arr3['name'] = '王五';
$arr3['age'] = 25;
$arr3['sex'] = '女';
echo '方式三:<br>';
var_dump($arr3);

数组的注意事项

  1. 元素是由下标组成,也称键值对
  2. 下标是每个数据值的对应的名称,一个数组中可能有相同的值,用下标来定位和区分对应的值
  3. 下标可以自定义也可以系统自动生成,自定义的下标的数组称为关联数组,系统生成的数组称为,索引数组,索引数组是的下标是从0开始的
  4. 如果自定义了下标,就会按照自定义的下标区分数据,没有下标的就从0开始依次递增
  5. 如果其中定义了一个数字,那么这个数组后面的数据的下标就从定义的这个数字开始依次递增
  6. 下标又称索引键名,index和offset
  7. 数值也称键值,数组中数值的数据类型为8种
  8. 数组的覆盖,在同一个数组中,如果后面的元素中的下标和前面元素的下标重复了,那么后面的元素的值就会覆盖前面的元素值
  9. 数组的自增,在一个已知的数组中添加新的元素,$旧的数组变量名[] = 新的元素
  10. 数组分为索引数据和关联数组和混合数组
    1. 索引数组:下标都是数字,且连续的递增的方式
    2. 关联数组:下标都是字符串
    3. 混合数组:既有数字又有字符串

全部案例代码:

[erphpdown]

//1.元素是由下标和值组成,也称键值对
$array1 = array('1' => '张三','2' => '李四');//等号前面的1和2表示键名,后面的张三和李四表示的键值
echo '注意1:<br>';
var_dump($array1);
//2.下标是每个数据值的对应的名称,一个数组中可能有相同的值,用下标来定位和区分对应的值
$array2 = array('1' => '吾爱乐享', '2' => '吾爱乐享' );//键值相同,用键名来区分
echo '注意2:<br>';
var_dump($array2);
//3.下标可以自定义也可以系统自动生成,自定义的下标的数组称为关联数组,系统生成的数组称为,索引数组,索引数组是的下标是从0开始的
$array3 = array ('name' => '张三', '李四');//可以自定义也可以不定义
echo '注意3:<br>';
var_dump($array3);
//4.如果自定义了下标,就会按照自定义的下标区分数据,没有下标的就从0开始依次递增
$array4 = array('11','22','33','44');//不定义系统自动生成以0开始自动递增
echo '注意4:<br>';
var_dump($array4);
//5.如果其中定义了一个数字,那么这个数组后面的数据的下标就从定义的这个数字开始依次递增
$array5 = array('11','22',10 => '33','44','55');//第三个定义了下标10,那么后面的下标自动就i从11开始地址
echo '注意5:<br>';
var_dump($array5);
//6.下标又称索引和键名,index和offset

//7.数值也称键值,数组中数值的数据类型为8种
$array7 = array('张三',23,null,$arr1,3.14,true);
echo '注意7:<br>';
var_dump($array7);
//8.数组的覆盖,在同一个数组中,如果后面的元素中的下标和前面元素的下标重复了,那么后面的元素的值就会覆盖前面的元素值
$array8 = array('1' => '11','2' => '22','3' => '33','1' => '44');//后面的44就会覆盖前面的11,因为下标相同
echo '注意8:<br>';
var_dump($array8);
//9.数组的自增,在一个已知的数组中添加新的元素,$旧的数组变量名[] = 新的元素
$array9 = array(11,22,33,44,55);
$array9 = array(6 =>66,77,88,99);//如果不定义下标的话是从0开始,就会覆盖之前的内容,要新增,就需要定义和之前不一样的下标
echo '注意9:<br>';
var_dump($array9);
//10.数组分为索引数据和关联数组和混合数组
//10.1索引数组:下标都是数字,且连续的递增的方式
$array10 = array(11,22,33,44,55,66);
echo '注意10:<br>';
var_dump($array10);
//10.2关联数组:下标都是字符串
$array11 = array('num1' => 11,'num2'=>22,'num3'=>33);
echo '注意10:<br>';
var_dump($array11);
//10.3混合数组:既有数字又有字符串
$array12 = array('name' => '张三', 23);
echo '注意10:<br>';
var_dump($array12);

[/erphpdown]

赞(1) 打赏
未经允许不得转载:吾爱乐享 » php学习之数组的相关知识-注意事项

评论 1

评论前必须登录!

 

  1. #-49

    1234

    吾爱乐享5年前 (2020-06-11)

推荐免费资源共享,个人经验总结学习

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏