• 数组


    数组

        数组就是一组数据的集合,就是用于存储多个具有一定关系的多个变量。对应现实中的具有行列结构的数据。

    数组的定义

    方式1:使用array()数组结构

    示例:

    方式2:使用简单语法结构'[]',注意:此种语法只能在5.4及其以上的版本中使用

    示例:

    方式3:动态添加数元素的方式

    示例:

    数组的访问

        在数组中唯一标识元素的是下标(键名),

    语法:

        $数组名[下标/键名]

    示例:

     

    PHP数组的特点

    1、php中数组可以直接使用,不需要预先定义。

    2、php中数组的长度不需预先定义。

    3、php中数组的元素可以是任意数据类型。

    4、php中数组的下标可以不连续

    PHP中数组的分类

        根据数组元素的下标是数值、字符还是数值与字符混合,可以将PHP中的数组分为,索引数组、关联数组、混合数组

    索引数组:

        数组元素的下标是整数,

    关联数组:

        数组元素的下标是字符。关联数组的特点:每个元素都由两部分组成,键名与键值。

    关联数组的创建:

    语法:

        $数组名 = array(键名=>键值,键名=>键值.....);

    示例:

    数组的遍历

    遍历:就为了某种需求,对数组中所有的元素都进行一次访问。

    使用for循环结构,条件是所遍历数组的元素的下标必须是连续的。

    示例:

    php为我们提供了专用于遍历数组的语法结构:foreach

    语法:

        foreach($arr as $v1【=>$v2】){

            //循环体

        }

    说明:

        foreach是对数组的指针进行操作(读取每一个元素的键名与键值,并赋值给$v1与$v2,之后还要将指针下移)

    示例:

    foreach原理

    代码:

        $arr = ['0'=>10,'3'=>20,'nine'=>30,'10'=>40];

        foreach($arr as $v1 => $v2){

            echo "键名为:$v1"."键值为:$v2".'<br/>';

        }

    原理:

    1、编译源代码,

    2、执行

    2.1、首先在栈区开辟一个空间存储$arr

    2.2、在存储数据时,发现赋值号右边是一个数组,那么就是在堆区开辟个空间用于存储数组的数据

    2.3、将数组的内存 地址,传递给栈区中的$arr

    3、执行foreach

    3.1、在栈区开辟两个空间存储$v1与$v2

    3.2、读取当前数组指针所指向的元素,将当前元素的键名与键值,赋值给变量$v1与$v2

    3.2.1、会在全局区开辟空间用于存储数据0与10

    3.3、将数组的指针下移一行

    3.4、执行下一次循环,与3.2 3.2.1相同的操作,当前循环执行结束,将数组指针再下移一行。

    3.5再次循环

    3.6再次循环,循环结束,指针再下移一行

    3.7再次循环时,发现没有数据,那么直接结束循环结构。

     

    图解:

    数组相关函数

    each()

        主要用于每次读取数组当前指针所指向的元素(读取一个元素的)键名与键值,并组织混合数组返回。将指针下移一行

    示例:

     

    list();

    语法:

        list(变量列表)=$数组名;

    说明:

    • list是一种语法结构,不是一个函数
    • 作用将数组中的元素依次赋值给list后的变量列表中的变量
    • list只能获取索引下标的元素

    示例:

     

    each与list遍历索引数组

    示例:

  • 相关阅读:
    每天学习算法二
    每天学习算法 一
    数据量基础
    SQL server数据库创建代码,filegroup文件组修改,
    SQL学习笔记之 数据库基础(一)
    Oracle的查询-条件表达式
    Oracle的查询-单行查询
    Oracle 的查询-scott用户介绍
    Oracle的基本操作-序列的使用
    Oracle的基本操作-修改表结构、数据的增删改查
  • 原文地址:https://www.cnblogs.com/nyxd/p/5356122.html
Copyright © 2020-2023  润新知