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 教程持续更新中,欢迎关注、点赞、收藏

©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页