键值对

上一节中简单的了解了数组的定义、取值及存储,这一节补充一下上一节数组的内容。
在上一节中,我们知道索引是用来标记值的位置,通过索引可以取得当前位置的值。这种一个索引对应着一个值的关系是一个映射关系,称为键值对。键指的是索引,值指的是具体值。在某些编程语言中,这种关系的数组称为字典。

在php中定义这一种键值对关系可以由以下代码进行创建:

$a=array("name"=>"Xiaoming","age"=>"37","sex"=>"nan");

在以上代码中,定义了一个数组变量a,数字的定义形式跟之前不一样。我们看第一个键值对 "name"=>"Xiaoming",其中name是键,这个键对应的值是Xiaoming。第二个键是 "age"=>"37",键是age,值是37。我们取值可以使用如下方式进行取值:

$a ["age"]

进行输出则如下:

echo $a ["age"];

完整代码是:

<?php$a=array("name"=>"Xiaoming","age"=>"37","sex"=>"nan");echo $a ["age"];
?>

结果如下:


设置值的方式跟上一节介绍的设置方式一致,如下:

$a ["age"]=18;

完整代码:

<?php$a=array("name"=>"Xiaoming","age"=>"37","sex"=>"nan");$a ["age"]=18;echo $a ["age"];
?>

结果如下:

循环

循环时在程序执行中重复一句代码或一个代码块的语句,可以节省我们的代码编写量,并且使程序可读性增强等优点。

for循环

for循环是php程序中进行循环的一种方式。 语法如下:

for (初始值; 条件; 增量)
{要重复的代码或代码块;
}

当我们在项目开发中,如果需要让你重复输出十次你好呀,你可能会觉得我直接echo 十个就ok,但是如果100次、1000次呢?这个时候就很尴尬了。使用循环就可以让你很容易的解决这个问题。查看以下示例:

<?phpfor($i=0;$i<10;$i++){echo 'hello ';}
?>

以上代码使用了for循环,在for循环的圆括号中,第一个初始值处定义了一个变量i,初始值是0;在第二个条件值处,给予的条件是变量i小于10。在这里,变量i小于10指“当i这个变量小于10的时候,这个循环一直执行”;最后一个增量值处填入的是$i++,在这里++指的是这个变量最开始是0,然后每执行一次循环就加一次。

以上的解释可能让零基础的读者还是摸不着头脑。我以上解释中,每执行一次指的是这个循环第一次执行,会执行 echo 'hello ';这段代码,但是这个时候并不会跳出循环。看如下代码:

<?phpfor($i=0;$i<10;$i++){echo 'hello ';}echo ' 程序执行完了';
?>

在第一次程序执行了 echo 'hello ';后,并不会执行 echo ' 程序执行完了';,因为循环中,$i变量的值并没有大于10,所以这个循环将会继续执行(在循环的条件中,设定了变量i小于10,在无特殊情况下会一直执行循环,重复执行花括号中的代码)。
当执行了一次循环中 echo 'hello '; 后,此时变量i将会加1,从0变成1,拿去条件中判断,条件成立继续循环,知道i不小于10,条件不成立,该循环会跳出。
结果如下:

如果想直观的看见变量i的变化,程序代码可以如下编写:

<?phpfor($i=0;$i<10;$i++){echo 'hello <br/>';echo $i.'<br/>';}
?>

以上代码中出现的<br/> 为html代码中的换行,也就是从起一行从下一行输出,这样方便观察。
结果如下:

以上代码详细的列出了变量i值的变化。

遍历输出数组值

数组值我们可以使用print_r进行输出当前数组的所有值。通过循环同样也可以输出数组中的所有值。
查看如下示例:

<?php$a=array('abc','cba',1,22,'as');echo '数组 a 的长度是'.count($a).'<br/>';for($i=0;$i<count($a);$i++){echo $a[$i].'<br/>';}
?>

以上代码中使用了count函数计算数组a的长度,变量i从0开始,不能超过count计算的数组长度,也就是5。结果如下:

php 教程持续更新中,欢迎关注、点赞、收藏

php基础教程 第七步数组补充及循环基础相关推荐

  1. php基础教程 第十一步 面向对象补充

    继承 上一节中学习了php类,以及类方法.类成员变量相关的一些知识,接下来开始学习php类中的继承.本节是上一节的补充.(其实也就是为了保持日更随便发的一篇文) 开始 php继承是继承与父类的所有属性 ...

  2. 100内奇数之和流程图_JavaScript基础教程(六)流程控制之循环语句

    JavaScript入门教程之循环语句 循环语句从字面意思理解就是重复执行,能够让计算机按照程序员要求重复执行某种操作的能力是所有程序设计语言所必须具备的基本能力.在JavaScript程序设计语言中 ...

  3. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章) python常用的IDE: Windows: IDLE(gui), Eclipse+PyDev; Python(comman ...

  4. php基础教程 第十步 阶段性知识补充

    简 在php教程中前九步已经了解了php的一些基础知识.大多数人在了解完以上知识后脑子还是迷茫的,最多懂的一些我所讲解过的知识如何实现(对象为零基础读者),如何搭建一个网站还是不知晓.没关系,接下来我 ...

  5. php基础教程 第八步循环补充

    其它循环 上一节内容中,讲解了php中的循环,并且了解了for循环.for循环是php循环中的一种,在本节中继续讲解php循环:While循环.do-while循环.foreach 循环. While ...

  6. DirectX12(D3D12)基础教程(七)——渲染到纹理、正交投影、UI渲染基础

    目录 1.前言 2.渲染到纹理 3.调试支持 4.正交投影 5.UI渲染基础 6.本章完整代码链接 1.前言 记得那是在差不多10多年前,我在工作中认识了一位好兄弟小杨.那时他刚毕业,跟我是同一所大学 ...

  7. python基础教程多少钱-厦门厦禾路Python基础教程培训费用多少-泰兴市新闻

    厦门厦禾路Python基础教程培训费用多少-泰兴市新闻 [美力程]是厦门中信教育旗下,专注于中国6-18岁青少年STEAM创客教育的先锋品牌.依托中心20+年积累的计算机教育经验和职业IT精英教研团队 ...

  8. html5语言基础教程,HTML5基础教程,从入门到精通,零基础学HTML5

    随着互联网的快速发展,对前端开发方面的人才需求越来越大,其中Web前端领域的HTML5也受到许多人追捧 HTML5是构建Web内容的一种语言描述方式.HTML5是互联网的下一代标准,是构建以及呈现互联 ...

  9. 【ThreeJS基础教程-材质纹理篇】3.2 初识基础网格材质MeshStandardMaterial

    初识标准网格材质 学习ThreeJS的捷径 了解材质的基本知识 材质继承关系 常用的通用材质属性 alphaTest的验证和应用 depthTest和depthWrite应用 渲染哪一面Side 常用 ...

最新文章

  1. 使用Spring JDBC框架连接并操作数据库
  2. HDU2050 折线分割平面
  3. BZOJ 5064: B-number
  4. nothing to build for project 'XXX'
  5. 猜数(二分、线段树)
  6. python解决最优化问题_python实现最优化算法
  7. Spring Boot学习总结(7)——SpringBoot之于Spring优势
  8. [论文翻译] Medical Matting: A New Perspective on Medical Segmentation with Uncertainty
  9. SFB 项目经验-15-配置会议邀请中企业信息
  10. rsyslog mysql ip_使用rsyslog+loganalzey收集日志显示客户端ip
  11. matlab课程论文2500字,matlab课程论文模板
  12. 抽奖游戏 js php,jQuery实现简单的抽奖游戏技术分享
  13. java.sql.SQLSyntaxErrorException: Unknown database ‘数据库名‘
  14. Linux下刻录cd,用debian命令刻录CD
  15. Double Check形式的单例模式
  16. 微型计算机显示器的两种引线,第八章章节微型计算机接口技术8-2led显示器接口.ppt...
  17. 域名管理——DNS服务
  18. 1M带宽服务器能够承载多少人
  19. 五子棋_AI权值算法(2)
  20. 自动导引车(AGV)入门----底盘硬件框架及简单功能开发

热门文章

  1. C#中HashTable、Dictionary、ConcurrentDictionary区别
  2. SQL Server in Docker - 还原数据库
  3. [推荐]大量 Blazor 学习资源(一)
  4. 干货分享:如何使用Kubernetes的Ingress API
  5. 致敬平凡的程序员--《SOD框架“企业级”应用数据架构实战》自序
  6. .Net Core微服务架构技术栈的那些事
  7. 谈谈“学习”这件事儿
  8. 使用 .NET CORE 创建 项目模板,模板项目,Template
  9. ASP.NET Core 3.0中支持AI的生物识别安全
  10. [译]ABP vNext介绍