php基础教程 第七步数组补充及循环基础
键值对
上一节中简单的了解了数组的定义、取值及存储,这一节补充一下上一节数组的内容。 在上一节中,我们知道索引是用来标记值的位置,通过索引可以取得当前位置的值。这种一个索引对应着一个值的关系是一个映射关系,称为键值对。键指的是索引,值指的是具体值。在某些编程语言中,这种关系的数组称为字典。
在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次呢?这个时候就很尴尬了。使用循环就可以让你很容易的解决这个问题。查看以下示例:
<?php
for($i=0;$i<10;$i++){
echo 'hello ';
}
?>
以上代码使用了for循环,在for循环的圆括号中,第一个初始值处定义了一个变量i,初始值是0;在第二个条件值处,给予的条件是变量i小于10。在这里,变量i小于10指“当i这个变量小于10的时候,这个循环一直执行”;最后一个增量值处填入的是$i++,在这里++指的是这个变量最开始是0,然后每执行一次循环就加一次。
以上的解释可能让零基础的读者还是摸不着头脑。我以上解释中,每执行一次指的是这个循环第一次执行,会执行 echo 'hello ';
这段代码,但是这个时候并不会跳出循环。看如下代码:
<?php
for($i=0;$i<10;$i++){
echo 'hello ';
}
echo ' 程序执行完了';
?>
在第一次程序执行了 echo 'hello ';
后,并不会执行 echo ' 程序执行完了';
,因为循环中,$i变量的值并没有大于10,所以这个循环将会继续执行(在循环的条件中,设定了变量i小于10,在无特殊情况下会一直执行循环,重复执行花括号中的代码)。
当执行了一次循环中 echo 'hello '; 后,此时变量i将会加1,从0变成1,拿去条件中判断,条件成立继续循环,知道i不小于10,条件不成立,该循环会跳出。
结果如下:
如果想直观的看见变量i的变化,程序代码可以如下编写:
<?php
for($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 教程持续更新中,欢迎关注、点赞、收藏
- Spring Boot 中使用 Kafka
- 如何评价一段代码
- java系统高并发的解决方案
- Spring Boot 中使用 Redis
- 使用 Jedis 连接操作 Redis
- 浅析ReDoS的原理与实践
- 使用 Executors,ThreadPoolExecutor,创建线程池,源码分析理解
- CentOS+Nginx+Tomcat搭建高性能负载均衡集群
- Java 四种线程池的使用
- 搭建 Jenkins-2.83 服务,部署 spring boot 项目
- Spring Boot 中使用 Java API 调用 lucene
- Spring Boot 中使用 Java API 调用 Elasticsearch
- Spring Boot 中使用 公共配置
- WebView 和 JS 交互,如何将 Java 对象和 List 传值给 JS ?
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 【课后作业】ADS 层数据导出
- 【课后作业】ADS 层创建&数据接入
- 【项目实战】ADS 层复购率统计
- java设计模式-单例模式详解
- 技术迭代迷茫?Android资深架构师教你如何打破这个局面!
- 基于空间矢量的机器人动力学:铰接体惯量法matlab程序
- leetcode树之相同的树
- 1. 两数之和
- 突击并发编程JUC系列-原子更新字段类AtomicStampedReference
- 去除字符数组中指定的字符
- Android——Android Studio开发环境搭建及设置本地Gradle方法
- Java——类集框架:List集合接口的详解及应用举例
- Android——NORDIC nRF5x系列 DFU升级 APP实现
- Java——集合工具类(Collections工具类、Stack子类)
- Android——RecyclerView自定义OnScrollListener实现下拉刷新监听,上拉加载更多功能