一、生活中的数组:

  a)    教室的座位:第一天来教室的时候,每个座位上都有自己的一个名字,我们可以通过这个名字快速定位到自己的座位在什么位置!

  b)    电影院的座位:我们买了电影票之后,能够通过电影票上面的座位号准确的定位到自己的座位在什么位置!

  c)    快速定位法:我可以通过你的名字,快速的找到你!

  d)    我也可以通过座位的编号,快速的找到你!

二、      PHP当中的数组:

  a)    在此之前,我们学习过变量一个存储值的方式,但是因为变量只能够存储一个值,因此无法满足我想存储多个值的欲望!因此,我们需要学习到PHP当中的这么一个数组!

  b)    如何来学习数组?

    i.首先我们得知道数组的分类

    ii.其次我们得知道数组的定义

    iii.然后我们得知道数组的使用

    iv.最后我们得知道数组的遍历

  c)     数组的分类:

    i.索引式数组:

      1.下标(键、索引)由整数组成的值叫做索引式数组

    ii.关联式数组:

      1.下标(键、索引)由字符串组成的值叫做关联式数组

    iii.数组的单元:

      1.数组当中由一个下标以及下标指向的值所组成的这样一个整体,就是数组的一个单元,也可以称之为元素

  d)数组的定义:

    i.直接赋值方式定义:

      1.不指定数组的下标,定义一个索引式数组:

        a)    $a[ ] = 10;

        b)    $a[ ] = 20;

        c)    $a[ ] = 30;

        

        注意:数组的下标如果没有指定,那么它会默认从0开始

      2.    指定数组的下标,定义一个索引式数组:      

        1 $b[20] = 40;
         $b[0] = 10;
         $b[1] = 20;
         $b[2] = 30;
         unset($b[20]);
         $b[] = 50;
        7 var_dump($b);           

        a)    注意:

          i.指定数组下标的时候可以任意指定

          ii.数组并不会自动排序

          iii.指定下标数组当中,如果出现了没有指定下标的定义方式,则该单元的下标则默认去寻找上次所出现过的最大的下标,在其基础之上+1

      3.    指定数组的下标,定义了一个关联式数组:

        1 $stu[‘name’] = ‘梦梦’;
         $stu[‘sex’] = ‘女’;
         $stu[‘age’] = 18;
         $stu[‘money’] = true;
         $stu[‘tall’] = 160.00;
         $stu[‘zuoye’] = null;
        7 var_dump($stu);

         

        a)    注意:

          i.关联式数组的下标,就是有意义的字符串,我们能够很直观的通过字符串,了解它所存储的值是什么

          ii.关联式数组可以和索引式数组并存,但是这样写并没有什么意义,所以不推荐

          iii.无论是关联式数组,还是索引式数组,他们都可以存储各种类型的值!

    ii.使用array语言结构定义(最常用):

      1.    不指定数组下标,定义了一个索引式数组

        a)    $a = array(10,20,30,40,50);

      2.    指定数组下标,定义了一个索引式数组

        a)    $b = array(0=>10,10=>20,2=>30,3=>40,4=>50,60);

      3.    指定数组下标,定义了一个关联式数组

        a)    $stu = array('name'=>'楠楠','sex'=>'','age'=>16,'money'=>true,'tall'=>180);

    iii.使用快捷方式定义:

      1.    不指定数组下标,定义了一个索引式数组

        a)    $a = [10,20,30,40,50];

      2.    指定数组下标,定义了一个索引式数组

        a)    $b =[0=>10,1=>20,2=>30,3=>40,4=>50];

      3.    指定数组下标,定义了一个关联式数组

        a)    $stu = ['name'=>'海波','sex'=>'男','age'=>18,'money'=>false,'tall'=>120];

  e)数组的使用方式:

    i.一维数组:     

      1 $stu = array(
       ‘name’ => ‘张三’,
       ‘age’ => 18,
       ‘sex’ => ‘男’,
       ‘money’ => true
       );
       $stu[‘money’]; //这样就去到了下标 ‘money’ 所对应的 true这个值

    ii.获取一个一维数组当中的指定值的方式就是,通过存储数组的变量名,去寻找指定的下标即可!

  f)多维数组的定义:

    i.一维数组:  

    1  $stu = array(
             'name'=>'仉浩焱',
             'sex'=>'女',
             'age'=>108,
             'hunfou'=>false,
             );

    ii.二维数组:

    1 $stu = array(
             0=>array('name'=>'许超','sex'=>'女','age'=>16,'hunfou'=>false),
             1=>array('name'=>'大嘴','sex'=>'男','age'=>7,'hunfou'=>true),
             2=>array('name'=>'仉浩焱','sex'=>'半男不女','age'=>58,'hunfou'=>true),
             );

    iii.三维数组:

     1 $stu = array(
    2        'first'=>array(
                     0=>array('name'=>'许超','sex'=>'女','age'=>16,'hunfou'=>false),
                     1=>array('name'=>'大嘴','sex'=>'男','age'=>7,'hunfou'=>true),
                     2=>array('name'=>'仉浩焱','sex'=>'半男不女','age'=>58,'hunfou'=>true),
            ),
            'second'=>array(
                     0=>array('name'=>'小花','sex'=>'男','age'=>26,'hunfou'=>false),
                     1=>array('name'=>'大明','sex'=>'女','age'=>36,'hunfou'=>true),
                     2=>array('name'=>'小明','sex'=>'男','age'=>46,'hunfou'=>false),
    11         ),
    12     );

    iv.注意事项:

      1.    多维数组的定义最好不要超过三维,否则会逻辑混乱。

      2.    多维数组在定义的时候,需要注意数组当中单元之间的分隔符号

  g)多维数组的使用:

    i.记住一个原则:无论几维数组,我们都是通过存储数组的变量,去找指定的下标即可!

三、     数组的遍历:

  a)我们就可以理解为是将一组数据、一队人物,一批事物进行了逐一排查,检查,评定,审核等等这样的一个过程,就是遍历!

    i.使用for循环,配合count()函数、array_values()函数、reset()函数来进行遍历[参考10.php实例]

    ii.使用foreach进行比遍历【最常用】

      1.    Foreach是专门给数组遍历而准备!

      2.    遍历数组的所有单元的值

        foreach(要遍历的数组 as 遍历之后存储结果的变量 ){

          遍历的过程!

        }

      3.    遍历数组的所有单元的键和值

        foreach(要遍历的数组 as 存键的变量 => 存值的变量){

          使用存键的变量和存值的变量获取相应的信息

        }

      4.    注意:

        a)    注意foreach的语法结构

        b)    注意foreach后方括号中存键的变量和存值的变量,如果只写一个存值的变量,取的时值;只有两个变量同时给定,才能获取键和值!

        c)    取值或下标和变量的名字是没有关系的!

    iii.While循环、配合list、each、reset函数的遍历(了解)

    iv.使用do…while循环,配合reset、end、key、current、next、prev函数进行遍历(了解)

四、      超全局数组传递信息:

  a)    $_GET可以接受使用GET方式传值的表单,也可以接受使用a链接传递的内容,只要拥有URL地址的地方所传递的信息,都属于是GET传值!

  b)    $_POST可以接受POST方式传值的表单

  c)    $_REQUEST可以接受GET方式和POST方式的传值,但是因为接收速度较慢,因此不推荐使用

【PHP】数组的更多相关文章

  1. javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈

    Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...

  2. 探究javascript对象和数组的异同,及函数变量缓存技巧

    javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来 ...

  3. 编写高质量代码:改善Java程序的151个建议(第5章:数组和集合___建议75~78)

    建议75:集合中的元素必须做到compareTo和equals同步 实现了Comparable接口的元素就可以排序,compareTo方法是Comparable接口要求必须实现的,它与equals方法 ...

  4. 了解PHP中的Array数组和foreach

    1. 了解数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.详细的解释可参见:PHP.net中的Array数组    . 2.例子:一般的数组 这里,我 ...

  5. JavaScript权威指南 - 数组

    JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...

  6. JavaScript常见的五种数组去重的方式

    ▓▓▓▓▓▓ 大致介绍 JavaScript的数组去重问题在许多面试中都会遇到,现在做个总结 先来建立一个数组 var arr = [1,2,3,3,2,'我','我',34,'我的',NaN,NaN ...

  7. js:给定两个数组,如何判断他们的相对应下标的元素类型是一样的

    题目: 给Array对象原型上添加一个sameStructureAs方法,该方法接收一个任意类型的参数,要求返回当前数组与传入参数数组(假定是)相对应下标的元素类型是否一致. 假设已经写好了Array ...

  8. javascript数组查重方法总结

    文章参考地址:http://blog.csdn.net/chengxuyuan20100425/article/details/8497277 题目 对下列数组去重: var arr = ['aa', ...

  9. 掌握javascript中的最基础数据结构-----数组

    这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...

  10. 小兔JS教程(四)-- 彻底攻略JS数组

    在开始本章之前,先给出上一节的答案,参考答案地址: http://www.xiaotublog.com/demo.html?path=homework/03/index2 1.JS数组的三大特性 在J ...

随机推荐

  1. qtp10安装步骤(比较完整)

    在安装qtp之前,要提前安装软件(不知道是干嘛的,反正安装就完了),右键--管理员运行完成安装,如下图: 解压qtp镜像: 双击setup: 第一步,点击第一排 第二步, 注:安装QTP系统提示“ 计 ...

  2. Simulink仿真入门到精通(十二) Publish发布M文件

    12.1 M文件的注释 使用%进行注释. 连续多行注释Ctrl+R,取消注释Ctrl+T. 12.2 Cell模式 在MATLAB脚本文件中使用连续两个注释符,开启一个新的Cell块,%%后空一格追加 ...

  3. 使用mitmproxy抓包手机APP的配置步骤

    转: https://www.jianshu.com/p/8ee3f9f46d7a 注意 1. 手机安装完证书之后还有一步 “证书信任设置” 操作 2. 手机设置代理的时候 ip地址和电脑本机是一样的

  4. R|tableone 快速绘制文章“表一”-基线特征三线表

    首发于“生信补给站” :https://mp.weixin.qq.com/s/LJfgxbTqsp8egnQxEI0nJg 生物医学或其他研究论文中的“表一”多为基线特征的描述性统计.使用R单独进行统 ...

  5. 附014.Kubernetes Prometheus+Grafana+EFK+Kibana+Glusterfs整合性方案

    一 glusterfs存储集群部署 注意:以下为简略步骤,详情参考<附009.Kubernetes永久存储之GlusterFS独立部署>. 1.1 架构示意 略 1.2 相关规划 主机 I ...

  6. 认识Oracle数据库系统--详细解说

    1.3 认识Oracle数据库系统 Oracle数据库是美国Oracle公司的一款关系型数据库管理系统,简称为Oracle RDBMS,是目前数据库市场上最为强大和流行的数据库系统之一.Oracle是 ...

  7. mybatis3.2.7 原理和入门程序

    使用jdbc操作数据库有以下缺点   |--数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁开启和关闭,造成数据源资源浪费,影响数据库性能.    设想:使用数据库连接池管理数据库连接.   ...

  8. oracle数据库表用序列实现主键自增长

    原理注意:序列和触发器必须建立在同一个用户名下否则运行出错1.建立数据表create table 表名(           userid number(10) primary key,        ...

  9. C 2014年笔试题

    1.指出程序中的错误,说明原因并修正 int *p,*q; p=malloc(sizeof(int)*20); q=malloc(sizeof(int)*10); … q=p; … free(p); ...

  10. django身份认证、权限认证、频率校验使用及源码分析

    一. 身份认证源码分析 1.1 APIView源码的分析 APIView源码之前分析过https://www.cnblogs.com/maoruqiang/p/11135335.html,里面主要将r ...