作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:对于计算机的学习者来说,初期的学习无疑是最迷茫和难以坚持的,中后期主要是经验和能力的提高,我也刚接触计算机1年,也在不断的探索,在CSDN写博客主要是为了分享自己的学习历程,学习方法,总结的经验等等,希望能帮助到大家
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:生活有很多味道,最苦和最甜都是你

学习php的第五天,今天学习的是php中的数组和数据结构,话不多说直接开始

目录

一:PHP中的数组和数据结构

1.数组的定义

2.索引数组

3.关联数组

4.数组的操作

1.增加

2.删除

5.for循环遍历数据

6.foeach函数遍历关联数组

7.list和each函数

1.list函数

2.echo函数


一:PHP中的数组和数据结构

1.数组的定义

  • 数组可以存入多个不同类型的数据,甚至还可以存数组,这样的数组我们叫多维数组,是一个复合数据类型。

  • 数组的英文是array

最简单的声明

$shu = array(1 , 1.5 , true ,'天王盖地虎,小鸡炖蘑菇');

经过上面的例子我们发现,这里的数组存放了多个类型的数据,这里还有一个知识点,就是下标(索引) 的概念,数组中的第一个数据下标为0,第二个数据下标为1,依次类推,举个例子:

如果想从上面的数组中取出“true”这个参数,就能通过$shu[2]来代表“true”,即

$shu[2] =true

2.索引数组

上面讲到了索引数组的下标从0开始,那如果我们不想让他从0开始可以吗?当然是可以的,这里就要用到我们以前学的键值对应符

<?php$kele = array(5=>'我',20=>'PHP中文网');//打印显示$keleecho '<pre>';var_dump($kele);echo '</pre>';?>

意思就是下标为5的位置和20的位置保存数据(相当于可以指定保存)

注意 :声明数组并不一定需要arary,这样也可以

$minren = ['杨幂','王珞丹',100 => '刘亦菲','黄圣依','范冰冰'];

3.关联数组

只要数组里面有一个下标为字符串的数组,就为关联数组。例如下面这种

$rela = array('帅' => '陈奕迅','很帅' => '黄晓明','灰常灰常帅' => '宁泽涛','有男人味的大叔' => '吴秀波',);

4.数组的操作

1.增加

$minren = array('杨幂','王珞丹','刘亦菲','黄圣依');$minren[] = '范冰冰';
//这里不给出下标位置就是在最后一位数据的后一位添加数据$minren[100] = '范爷';//它的下标又为几呢?

2.删除

$minren = array('杨幂','王珞丹','刘亦菲','黄圣依','范冰冰');//删除时后续的数据并不会自动填补unset($minren[3]);

5.for循环遍历数据

遍历二字,从字面解释就是一个接一个全读访问一次,显示出来。

<?php//声明一个数组,值为1到10$num = array(1,2,3,4,5,6,7,8,9,10);//我们可以得到数组中元素的总个数,为10echo count($num);//遍历这个索引数组的话,我们就可以定义一个变量为$i//$i 的值为0,从0开始//可以设定一个循环条件为:$i 在下标的(9)最大值之内循环for($i = 0 ; $i < count($num) ; $i++){echo $num[$i].'<br />';}?>

6.foeach函数遍历关联数组

我们通过上一章的内容学会了for循环遍历连续下标的索引数组。可是,我们发现我们遍历不了关联数组,也遍历不了下标不连续的索引数组。

那我们其实在学循环的时候,有一个循环是专门用来循环数组的。这个循环的基本语法就是foreach基本语法。基本格式如下:

foreach( 要循环的数组变量 as [键变量 =>] 值变量){//循环的结构体}

有些同学可能还是不太理解,在这里也给大家准备了一个实例

<?php$data = ['fj' => '凤姐','fr' => '芙蓉',];foreach($data  as $key => $value){echo $key . '-------' . $value . '<br />';}// 结果 /*fj-------凤姐fr-------芙蓉*/?>

注意:$key 和$value并不是变量名必须得为这两个名字。你命名为其他的也可以,如 $kai => $wen是一样的。 你要清楚键赋值给了哪个变量,值赋值给了另外的哪个变量。

7.list和each函数

1.list函数

它的功能:将索引数组下标为0的对应我变量1,下标1的对应变量2,依此类推,就像下面这样

<?phplist($one , $two , $three) = array('张三' ,'李四' ,'王五');//再次声明:单引号不结释变量,所以输出的是字符串$oneecho '$one----'.$one.'<br />';echo '$two----'.$two.'<br />';echo '$three----'.$three.'<br />';// 结果/*$one----张三$two----李四$three----王五*/?>

2.echo函数

功能:传入一个数组。它会将其中的一个元素拆为个新数组。每次执行这样操作一个元素。执行一次先后移动一次,同样的方式操作下一个数组元素。执行到最后,返回false。这个比较难以理解,还是通过下面的代码给大家解释一下吧

<?php//定义一个变量叫$kongjie$kongjie=['gao'=>'穿黑衣服的','shou'=>'腿特别长特别细','mei'=>'好白','pl'=>'五官端正','type'=>'那就是女神','我是吊丝不敢跟女神搭讪'];//第一次each$data = each($kongjie);echo '<pre>';var_dump($data);echo '</pre>';//第一次each 结果:/*array(4) {[1]=>string(15) "穿黑衣服的"["value"]=>string(15) "穿黑衣服的"[0]=>string(3) "gao"["key"]=>string(3) "gao"}*/?>
  • 读取了$kongjie中的第一个元素,将第一个元素('gao'=>'穿黑衣服的')分解开了。

  • 分解后第一个元素变成了一个新数组。

  • 在新数组里面,将原值(穿黑衣服的)放了索引下标1里面,同时放到了关联下标value里面。

  • 在新数组里面,将原键(gao),放到了关联下标key里面,放到了索引下标0里面。

  • 可以简单理解为从=号处将其分开,使得一个数据变成两个数据并构成新的数组

  • each的另外一个特性。读一次,向后移动一个元素。这里的元素指定是最开始的元素,而不是分割后的元素,即第一次each分割第一个元素,第二次分割第二个元素,以此类推,直到没有可以操作的元素

php今日份学习结束,(本来早就快写完了手贱按了一下撤销,什么都没了,也没备份,只能重新再写一遍了,我的难过谁能知道啊,哎) ,同志们要加油哇!

php中的数据结构详解相关推荐

  1. python数据结构包括什么_Python中的数据结构详解

    概述 在深入研究数据科学和模型构建之前,Python中的数据结构是一个需要学习的关键内容 了解Python提供的不同数据结构,包括列表.元组等 介绍 数据结构听起来是一个非常直截了当的话题,但许多数据 ...

  2. Python基石 | Python中的数据结构详解

    概述 在深入研究数据科学和模型构建之前,Python中的数据结构是一个需要学习的关键内容 了解Python提供的不同数据结构,包括列表.元组等 介绍 数据结构听起来是一个非常直截了当的话题,但许多数据 ...

  3. Python中的高级数据结构详解

    这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection.Array.Heapq.Bisect.Weakref.Copy以及Pprint这些数据结构的用法,需要的朋友可以参考 ...

  4. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route

    前几篇文章我们从dapm的数据结构入手,了解了代表音频控件的widget,代表连接路径的route以及用于连接两个widget的path.之前都是一些概念的讲解以及对数据结构中各个字段的说明,从本章开 ...

  5. 万字长文的Redis五种数据结构详解(理论+实战),建议收藏。

    本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西一定要一点一点的吃透它. 关于Redis的文章之前也写过三篇,阅读量和读者的反映都还 ...

  6. redis数据结构详解之Hash(四)

    原文:redis数据结构详解之Hash(四) 序言 Hash数据结构累似c#中的dictionary,大家对数组应该比较了解,数组是通过索引快速定位到指定元素的,无论是访问数组的第一个元素还是最后一个 ...

  7. [转]Redis内部数据结构详解-sds

    本文是<Redis内部数据结构详解>系列的第二篇,讲述Redis中使用最多的一个基础数据结构:sds. 不管在哪门编程语言当中,字符串都几乎是使用最多的数据结构.sds正是在Redis中被 ...

  8. Redis数据结构详解之Zset(五)

    原文:Redis数据结构详解之Zset(五) 序言 Zset跟Set之间可以有并集运算,因为他们存储的数据字符串集合,不能有一样的成员出现在一个zset中,但是为什么有了set还要有zset呢?zse ...

  9. [redis] 10 种数据结构详解

    [redis] 10 种数据结构详解 简介 5种常见数据结构 string: 最常见的 string key value list: 双向链表 set: 集合- zset: 有序集合 hash: 类似 ...

最新文章

  1. django 的form登录 注册
  2. 058_JavaScript函数arguments对象
  3. 在让元宇宙“圆梦”这条路上,交互技术卡在哪里了?
  4. 通用Login功能自动化测试
  5. angularjs的双向绑定原理实现
  6. 基于phantomJS实现web性能监控
  7. FIR调用DSP48E_05
  8. Dynamics CRM2016 Web API之更新记录
  9. 中国程序员如何去 Facebook 工作?
  10. R,让你的数据分析更简便!
  11. oracle大于当前月,oracle 现阶段年 当前月 当前周 当前日
  12. Git 初学札记(十)—— Reset 回退的三种状态解析
  13. JavaScript如何给Table行设置颜色?
  14. [Java] 蓝桥杯ADV-194 算法提高 盾神与积木游戏
  15. 查询相关股票十档行情的方法
  16. windows系统bat批处理 打开乱码
  17. 424.替换后的最长重复字符
  18. [bzoj2932][POI1999]树的染色问题
  19. eclipse Git使用教程
  20. 一个受人称赞的站点应该用最实新的策略来优化

热门文章

  1. 使用Colaboratory的免费GPU训练神经网络
  2. Windows程序设计作业一——信用卡还款
  3. java yyyy-mm-dd 日期格式_Java中的日期时间格式化
  4. Oracle sql语法中decode函数的用法
  5. 【代发】初识项目虚拟团队--作者Dylan Gao
  6. 工地必备!住建部《施工现场新冠肺炎疫情常态化防控工作指南》
  7. druid监控数据转存mysql_druid监控mysql程序
  8. 【GoCN酷Go推荐】 ​文本差异对比工具 go-diff
  9. 五一节,送给自己快乐
  10. 白杨的第一篇CSDN博客