PHP数组基本用法与知识点总结

吾爱主题 阅读:96 2021-10-16 16:27:00 评论:0

本文实例讲述了php数组基本用法与知识点。分享给大家供大家参考,具体如下:

初识数组

  • 概念: 数组就是一个可以存储一组或一系列数值的变量
  • 数组组成: 数组是由一个或多个数组元素组成的
  • 数组元素: 一每个数组由键(key)和值(value)构成
  • 键: "键"为元素的是被名称,也被称为数组下标
  • 值: “值”为元素的内容
  • 映射:“键”和“值”之间存在一种对应关系,称之为映射
  • 类型划分: 根据键的数据类型,可以将数组划分为索引数组和关联数组,前者使用数字作为键,后者使用字符串作为键。

1. 索引数组

索引数组: 指键名为整数的数组。默认情况下,索引数组的键名是从0开始,并依次递增。它主要适用于利用位置来标识数组元素的情况。另外,索引数组的键名也可以自己指定

2.关联数组

关联数组: 指键名为字符串的数组。通常情况下,关联数组元素的“键”和“值”之间有一定的义务逻辑关系。因此,通常使用关联数组储存一系列具有逻辑关系的变量。关联数组的“键”都是字符串,并与“值”之间具有意义对应的关系

数组的基本使用

1. 创建数组的方式

  • 使用array()函数 创建数组
  • 赋值方式
  • 短数组定义法(php5.4增加的)

1.数组的创建——array()语言结构方式

array()语言结构中的数组元素使用“键=>值”的方式进行表示,各元素之间使用逗号进行分割。

?
1 2 3 //定义索引数组 $fruits = array ( 'apple' , 'grape' , 'pear' ); // 省 略键名 $sports = array (2 => 'basketball' , 4 => 'swimming' ); // 指定键名

数组在省略键名的设置时,默认从0开始,依此递增加1,因此该数组元素的键名依次为“0、1、2”。
除此之外,还可以根据实际需求自定义数组元素的键名,如上述示例中的$sports数组变量,将其第1个元素键名设置为2,第2个元素的键名设置为4

2. 数组的定义——array()语言结构方式

?
1 2 //定义关联数组 $info = array ( 'id' => 10, 'name' => 'tom' , 'tel' => 18810888188);

在定义关联数组时 “键”则有明确的数据类型要求,具体如下。

  • 键只能是整型或字符串型的数据,如果是其他类型,则会执行类型自动转换
  • 合法整型的字符串会被转为整型,如“2”转为2,而“02”则不会被转换
  • 浮点数会被舍去小数部分直接转换成整型,如“2.6”转为2
  • 布尔类型的true会被转为1,false转为0
  • null类型会被转为空字符串
  • 若数组中存在相同键名的元素时,后面的元素会覆盖前面元素的值

在定义数组时,还可以定义没有任何元素的数组,以及既有索引表示方式、又有关联表示方式的数组元素。

?
1 2 3 //定义混合数组 $temp = array (); $mixed = array (2, 'str' , 'id' => 5, 5 => 'b' , 'a' );
  • $mixed数组的元素“b”指定了数字键名为“5”
  • “b”元素后的“a”元素会自动将前面最大的数字键名加1后,作为其键名,即5+1得到键名6。
?
1 2 3 4 5 6 //定义多维数组 $data = array (   0 => array ( 'name' => 'tom' , 'gender' => '男' ),   1 => array ( 'name' => 'lucy' , 'gender' => '女' ),   2 => array ( 'name' => 'jimmy' , 'gender' => '男' ) );

3. 数组的定义——赋值方式

使用赋值方式定义数组,实际上就是创建一个数组变量,然后使用赋值运算符直接给变量赋值。

?
1 2 3 4 5 6 //赋值方式 $arr [] = 123;  // 存储结果:$arr[0] = 123 $arr [] = 'hello' // 存储结果:$arr[1] = 'hello' $arr [4] = 'php' // 存储结果:$arr[4] = 'php' $arr [ 'name' ] = 'tom' ; // 存储结果: $arr['name'] = 'tom' $arr [] = 'java' // 存储结果:$arr[5] = 'java'

赋值方式定义数组就是单独为数组元素赋值。需要注意的是,赋值方式不能定义一个空数组。

4. 数组的定义——短数组定义法

短数组定义法([])与array()语法结构相同,只需将array()替换为[]即可

?
1 2 3 4 5 6 7 //短数组定义法   // 相当于:array('wind', 'fine') $weather = [ 'wind' , 'fine' ]; // 相当于:array('id' => 12, 'name' => 'php') $object = [ 'id' => 12, 'name' => 'php' ]; // 相当于:array(array(1, 3), array(2, 4)) $num = [[1, 3], [2, 4]];

2.访问数组

数组定义完成后,若想要查看数组中某个具体的元素,则可以通过“数组名[键]”的方式获取。

?
1 2 3 4 5 6 7 8 9 ``` //数组名[键] $sub = [ 'php' , 'java' , 'c' , 'android' ]; $data = [ 'goods' => 'clothes' , 'num' => 49.90, 'sales' => 500]; echo $sub [1]; // 输出结果:java echo $sub [3]; // 输出结果:android echo $data [ 'goods' ]; // 输出结果:clothes echo $data [ 'sales' ]; // 输出结果:500 ```

若要一次查看数组中的所有元素,则可以利用前面学习过的输出语句函数print_r()和var_dump(),并且通常情况下为了使输出的函数按照一定的格式打印,查看时经常与pre标记一起使用。

3.遍历数组

所谓遍历数组就是一次访问数组中所有元素的操作。通常情况下,使用foreach()语句完成数组的遍历。

?
1 2 3 4 5 6 7 8 //方式一 foreach (数组名称 as 键 => 值) {    // 处理语句 } //方式二 foreach (数组名称 as 值) {    // 处理语句 }

“键”和“值”的变量名可以根据实际情况随意设置

4.数组的删除

在数组定义完成后,有时也需要根据实际情况去除数组的某个元素。

5.数组操作符

不仅前面讲解的标量数据类型可以进行比较运算,数组这种复合数据类型也可以进行运算,不过数组有其专门提供的数组操作符进行对应的运算。

“+”为联合运算符,用于合并数组,如果出现下标相同的元素,则保留第1个数组内的元素。

?
1 2 3 4 5 6 $num = [2, 4]; $alp = [ 'a' , 'b' , 'c' ]; $mer1 = $num + $alp ; $mer2 = $alp + $num ; print_r( $mer1 ); // 输出结果:array ( [0] => 2 [1] => 4 [2] => c ) print_r( $mer2 ); //

希望本文所述对大家PHP程序设计有所帮助。

原文链接:https://blog.csdn.net/qq_41254184/article/details/88624470

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容