本文目录
一、循环
1.1 for循环
for(初始值; 条件; 自增量) {
// 循环体
}
1.2 while、do…while循环
- while循环
语法:
while (条件) {
}
- do…while循环
语法:
do {
}
while (条件)
1.3 小结
for
、while
、do-while
可以相互转换写法。- 明确多少次循环选
for
,循环到条件成立选while
或do while
。 while
先判断再执行,do while
先执行再判断。
1.4 双重循环
<?php
for($i=1; $i<=9; $i++) {
for($j=1; $j<=$i; $j++) {
echo "${j} ";
}
echo '<br/>';
}
?>
效果:
例:
<style>
table, td {
border: 1px solid #000;
}
</style>
<table>
<?php
for($i=1; $i<=9; $i++) {
echo '<tr>';
for($j=1; $j<=$i; $j++) {
echo "<td>${j}*${i}=".($i * $j)."</td>";
}
echo '</tr>';
}
?>
</table>
效果:
1.5 foreach循环
foreach循环是用来遍历数组的。
语法:
foreach(数组 as 值) {
}
foreach(数组 as 键 => 值) {
}
例:
<?php
$lan=['React', 'PHP', 'Vue'];
foreach($lan as $v) {
echo $v,'<br/>';
}
?>
效果:
例:
<?php
$lan=['React', 'PHP', 'Vue'];
foreach($lan as $k => $v) {
echo $k,'、',$v,'<br/>';
}
?>
效果:
二、多语句表达式
初始值和增量可以由多语句组合。
例如如下代码:
<?php
for($i = 1, $j = 9; $i <= $j; $i++, $j--) {
echo "10是${i}和${j}的和<br/>";
}
?>
效果:
三、跳转语句(终止循环)
- break
中断循环。
例:
<?php
for($i=1; $i<=10; $i++) {
echo "{
$i}<br/>";
if ($i == 5) {
break;
}
}
?>
效果:
- continue
中断当前循环,进入下一个循环。
例:
<?php
for($i=1; $i<=10; $i++) {
if ($i == 5) {
continue;
}
echo "{
$i}<br/>";
}
?>
效果:
3. 中断一重循环
例:
<?php
for($i=1; $i<=10; $i++) {
for($j=1; $j<=$i; $j++) {
echo $j.' ';
if ($j==5) {
break; // 默认中断一层循环
}
}
echo '<br/>';
}
?>
效果:
3. 中断多重循环
例:
<?php
for($i=1; $i<=10; $i++) {
for($j=1; $j<=$i; $j++) {
echo $j.' ';
if ($j==5) {
break 2; // 默认中断2层循环
}
}
echo '<br/>';
}
?>
效果:
四、替代语法
php
中除了do while
以外,其他语法结构都有替代语法。
语法:左大括号边冒号:,右大括号边endXXX。
例如:
<?php
if():
endif
?>
<?php
if():
elseif():
else:
endif
?>
<?php
switch ():
endswitch;
?>
<?php
for ():
endfor;
?>
<?php
while ():
endwhile;
?>
<?php
foreach ():
endforeach;
?>
如下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
for($i=1;$i<=10;$i++) {
echo 'counter<br/>';
?>
</body>
</html>
效果:
php中采用混编替代语法的使用:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
for($i=1;$i<=10;$i++):
?>
counterrr<br/>
<?php
endfor
?>
</body>
</html>
效果:
五、函数
5.1 函数的定义
函数就是一段代码块,可以实现模块化编程。
5.1.1 函数定义
语法:
function 函数名(参数) {
}
函数调用,通过函数名()去调用。
例:
<?php
function show() {
echo 'echo<br/>';
}
show();
SHOW();
Show();
?>
效果:
小结:变量名字区分大小写,关键字函数名不区分大小写。
5.2 可变函数
将函数名存在变量中。
例如:
<?php
function showZh() {
echo '好好学习<br/>';
}
function showEn() {
echo 'good good study';
}
$fun = rand(1,2)%2 ? 'showZh' : 'showEn';
$fun();
?>
效果:
5.3 匿名函数
例:
<?php
$fun = function () {
echo '好好学习,天天向上。';
};
$fun();
?>
效果:
5.4 函数参数
- 函数的参数有实际参数传递和形式参数传递。
- 形式参数是定义函数时候的参数,实只起形式的作用,没有具体的值。
- 实际参数是调用函数的时候传递的参数,有具体的值。
- 参数传递默认是值传递。
5.4.1 函数的值传递
例:
<?php
$num = 10;
function num($argus) {
$argus = 100;
}
num($num);
echo $num;
?>
结果:
5.4.2 函数的引用地址传递
例:
<?php
$num = 10;
function num(&$argus) {
$argus = 100;
}
num($num);
echo $num;
?>
效果:
5.4.3 函数的参数个数不匹配
1.传递实际参数如果小于形参就会报错。
<?php
function fun($name, $add) {
echo '姓名:'.$name,'<br/>';
echo '地址:'.$add,'<hr/>';
}
fun('counter');
?>
效果:
2.传递实际参数如果大于形参就只取形参个数。
例:
<?php
function fun($name, $add) {
echo '姓名:'.$name,'<br/>';
echo '地址:'.$add,'<hr/>';
}
fun('counter','厦门', '北京');
?>
效果:
3.获取所有传递的参数
例:
<?php
function fun() {
echo func_num_args(), '<br/>'; //获取参数的个数
$args=func_get_args(); // 获取参数数组
print_r($args);
}
fun(10);
echo '<hr/>';
fun(10,20);
echo '<hr/>';
fun(10,20,30);
?>
效果:
5.4.4 参数个数约束
例:
<?php
function fun(...$args) {
print_r($args);
}
fun(10);
echo '<hr/>';
fun(10,20);
echo '<hr/>';
fun(10,20,30);
?>
效果:
规定前面两个参数形式,例如:
<?php
function fun($name, $age, ...$args) {
echo '姓名:'.$name, '<br/>';
echo '年龄:'.$age, '<br/>';
print_r($args);
echo '<hr/>';
}
fun('counter',18);
fun('queen',18,'读书','画画','唱歌');
?>
效果:
5.4.5 参数类型约束
php是弱类型语言,但是在7.0以后支持了强类型。(int,string,bool,float,数组)
例:
<?php
function fun(string $name, int $age) {
echo '姓名:'.$name, '<br/>';
echo '年龄:'.$age, '<br/>';
echo '<hr/>';
}
fun('counter','aa');
?>
效果:
返回值必须是整型:
<?php
function fun(int $num1, int $num2):int {
return $num1 + $num2;
}
var_dump(fun(10,11));
?>
效果:
约束return后面不可以有返回值(7.1以上)
例:
<?php
function fun():void {
return 'fun';
}
?>
效果:
5.4.6 函数参数默认值
变量不能做默认值,常量可以做默认值。有默认值的写在后面,没有默认值的写在前面。
例:
<?php
function fun($name, $add='地址未填写') {
echo '姓名:'.$name,'<br/>';
echo '地址:'.$add,'<hr/>';
}
fun('counter', '厦门');
fun('king');
?>
效果:
六、return
return
作用:
- 终止脚本执行(如果有包含文件,只能中断自己所在的当前页面,如果要完全终止脚本执行,使用exit( )或者die( )):
例:
<?php
echo '好好学习';
return;
echo '天天向上';
?>
效果:
2. 返回页面结果。
例:
276.php,代码如下:
<?php
array('name' => 'counter', 'age' => '18');
?>
demo.php,代码如下:
<?php
$info = require './276.php';
print_r($info);
?>
页面效果:
如果不写return的话只会返回1或者0,表示成功或失败,写了return将会返回数据,276.php改为如下:
<?php
return array('name' => 'counter', 'age' => '18');
?>
查看页面:
3. 在函数中的返回和终止。