数组

作者: 黄稚女 | 来源:发表于2019-04-01 14:11 被阅读0次
数组,是PHP基础数据类型中的一种。
//目前的主要定义数组的方法
$arr = ['a'=>1, 'b'=>1];
//php 5.4以前
$arr = array('a'=>1,'b'=>2);
  1. 从字面理解就是:一组数据。也就是说,这个数据类型中包含了“多个子数据”.这个不难理解,但至关重要。
  2. 我们对数组的常见操作是:增删改查(这四个字基本涵盖了我们对数据的所有操作,不仅仅是数组)只要理解了数组是“一组数据”的概念之后,增删改查自然也不难理解。就是对这组数据的添加、修改、删除、取出等行为。

key & value
  1. 数组中包含“一组数据”,每个数据都有一个编号,这个编号就是 key。数据本身,就是 value。
  2. 在PHP中,方括号([])就是用来操作数组的,增改查,都是“[key]”,所以你只要看到 [ ] 就可以认为这个变量的数据类型是数组(偶有特殊情况,比如字符串也可以用 [],但是极为少见)
  3. 第二个认知, “=>”该语法,仅用在数组的相关操作上, 左边一定是 key 右边一定是 value。
    常见于:
    foreach( \$data as \$key=>$value )
    或者:
    ['a'=>1, 'b'=>2]

很多同学学的时候感觉都会,用的时候感觉很懵,那是因为实际环境总是要复杂点.所以,这种基础认知,可以帮助你在复杂的代码中,认清哪些是数组。


And

比如: $a['key'] 你知道是数组,但是你知道吗,x()['key'] 这样的语法也可以。只要 x() 函数的返回值是数组,就可以这样操作(php5.x以后才支持)
你有了基础认知,你就能知道,既然使用了 [] 的语法,那么 x() 函数的返回值一定是数组


function x(){
  return [1,2,3];
}
echo x()[1];

对数组有了基础认知之后,我们可以思考一下:哪些场景非数组不可?
没有数组,能不能编程?


思考

最常见的需求:我们从数据库中取出的“数据量”是随机的,可能是3条,可能是500条。
如果每条数据都指定一个变量名,那就尴尬了。500条数据要定义500个变量。
所以,这时候数组的意义就很重大,一个数组类型的变量,可以容纳所有的数据,不管是500还是5000


上文还说到了,数组中有很多 key=>value,其中,key 作为数据编号的存在,是不允许重复的。
value 则比较宽泛,不仅可以重复,还可以是“任何数据类型”,注意:任何数据类型

也就是说,value 也可以是数组,这就形成了二维数组。

$arr = [
         'a'=>1;
         'b'=>2;
         'c'=>[1,2,3];
]

多维数组在操作数据增删改查时,和1维数组没有大的区别,只不过方括号([])多了一点。

//输出a的值
echo $arr['a'];
//输出c的子数组的值
echo $arr['c'][0];

循环

除了上面的基础知识之外,我们对数组最常见的需求,莫过于:循环(专业称呼叫遍历)

也就是逐一的访问数组中的键值对,并做一些操作;比如将数组中,所有的value 都显示在网页上。
我们可以用 foreach/for/while 来循环它,最常用的是 foreach 语法

foreach($arr as $key => $value){
           echo $value;
}

这样,就可以将数组中所有的值,都显示在网页上(如果是多维数组,就需要多层foreach嵌套)

相关文章

  • 数组

    数组数组数组数组数组数组数组数组数组

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • C语言的惯用集

    数组部分 数组部分 清空数组a 把数据读进数组a 对数组a求和

网友评论

      本文标题:数组

      本文链接:https://www.haomeiwen.com/subject/uacvbqtx.html