Abstract: PHP语言中while
和for
的用法,以及PHP数组的用法。
1. PHP三种工作模式(文件后缀解析时有何区别)
1.1 module模式
LAMP — Linux Apache Php Mysql
php作为apache模块运行,apache遇到一个php文件,,就相当于执行系统命令 php a.php
,文件后缀解析以apache配置文件为主,如果apache认为.xxx文件时php脚本,就当作php执行。
1.2 CGI模式
LNMP — Linux Nginx Php Mysql
php会监听一个端口,nginx/phpstorm/iis等中间件遇到一个php文件时,会把请求转发给php监听的端口。
有两个配置文件,一个是中间件,一个是php服务的,nginx/iis认为.xxx后缀文件是php脚本,交给php处理,但在php配置文件中,会有一个限制php5/php3/phtml/php能够被识别。
第三周总结 最底部有三种模式的对比。
2. PHP数组
2.1 数值数组
自动分配ID键(ID键总是从0开始)
1 2 3 4 5 6
| <?php $cars = array("Volvo", "BMW", "Toyota"); echo $cars[0]; //输出"Volvo" echo $cars[1]; //输出"BMW" echo $cars[2]; //输出"Toyota" ?>
|
count()函数—获取数组的长度
1 2 3 4
| <?php $cars = array("Volvo", "BMW", "Toyota"); echo count($cars); ?>
|
遍历数值数组
1 2 3 4 5 6 7 8
| <?php $cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++){ echo $cars[$x]; echo "<br>"; } ?>
|
为一个数组增加一位,不适合用上述这种方法遍历。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?php $arr = array('name'=>'zs', 2, 'age'=>18, 1); echo $arr['name']; //zs echo PHP_EOL; echo $arr[0]; //2 echo PHP_EOL; echo $arr['age']; //18 echo PHP_EOL; echo $arr[1]; //1 $arr1 = array(1,2,3,4,5); $arr1[0] = 6; echo PHP_EOL; $arr1[100] = 100; echo PHP_EOL; echo $arr1[0], $arr1[100]; for($i=0; $i<=100; $i++){ //610062345 报错,直到i=100时把100输出 echo $arr1[$i]; } ?>
|
使用foreach
就不会报错,数值数组和关联数组混合时,关联数组并不影响数值数组的下标。
2.2 关联数组
关联数组可以指定键的数组
1 2 3 4
| <?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?>
|
遍历关联数组
1 2 3 4 5 6 7 8 9
| <?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <?php $arr = array(1, 2, 3, 4, 5); foreach($arr as $key => $value){ echo $key."=>".$value; echo PHP_EOL; } $arr[5]=709; foreach($arr as $key => $value){ echo $key."=>".$value; echo PHP_EOL; } $arr[100] = 100; foreach($arr as $key => $value){ echo $key."=>".$value; echo PHP_EOL; } ?>
|