一.复习
1.if语句
- 比较符,左右两边比较,它比较完就只有两种结果,
- 通过 if(){} 的()里面的两种结果比较,得到的结果是:true 或者 false
- 例:
if($a){
}
echo 18 < 20; //输出结果为 1 是真(true)
2.自定义函数
- 在方法的()后面加 :类型 可以要求返回的结果类型
- 函数可以先调用,后创建也是可以的
- 例
echo j(10,100);
function j($a,$b):string{
return $b - $a;
}
- 输出
二.逻辑运算符
- if()里面可以有多个条件,它只要最后的结果是true 或 false
// and or xor !1. and && 都是与的意思
- and两边的条件都是true,它就是 true
- 例
$a =9;
if($a <= 2){
echo '小';
}elseif($a >= 3 && $a <= 5){
echo '中';
}elseif($a >= 6 && $a <= 8){
echo '大';
}else{
echo '未知';
} // 根据$a 赋值来判断输出 小 , 中 , 大 , 未知
2. or || 都是或的意思
当if()里的两个条件
一个是 true 就返回true
两个是 true 也返回true
两个是 false 就返回 false例
var_dump(true || true); //输出结果是 true
var_dump(true || false); //输出结果是 true
var_dump(false || false); //输出结果是 false
3. xor
- 如果两边都是 true 结果就是false
- 当两边结果不一样时,输出才是 true
两边都是false 结果也是 false
例
var_dump(true xor true); //输出结果是 false
var_dump(false xor false); //输出结果是 false
var_dump(true xor false); //输出结果是 true
4. ! 是取反
- 获取与输入相反的值
- 例
var_dump(!true); // 输出结果是 false
var_dump(!false); //输出结果是 true
三. switch 流程判断
- switch 代码和判断都在,switch的{}里完成,不像if一样有多个{}
- 当你知道是有多少个值的时候,多少sase的时候 用 switch ,不知道的时候用 if
- switch只有一个{},看成一段代码,它只能在增加一个关键词 break
- 在 switch 中 放if foreach,这些只要是PHP的代码都可以
- default 相当于if的else{},在没有匹配到使用条件时,才会执行
四.逻辑函数
- isset()
empty()
用函数可以解决直接判断变量时会出现的一些小问题,比如,因为输入一个空格,就判断为 true
- isset 只要变量存在,就是 true
- 除了比较运算符,很多函数的返回值也是 true 和 false
- isset 把 0,false,’’都认为是有值的,是true; null 和 没有这个变量是, false
- isset 还可以不存在变量,不会让他报错
- 我们有时候只需要一个判断,就要一个取反就可以了
- empty 和 isset 是刚好相反的
- empty 如果变量是空就为 true
- gettype 获取变量类型
- is_string 判断类型是否是字符串
- is_int 判断类型是否是整数
- is_float 判断类型是否是浮点型
- is_bool 判断类型是否是布尔值
- is_null 判断类型是否为空
- is_array 判断类型是否是数组
is_object 判断类型是否是对象
短标签 <? ?> 在原生代码里会使用
- <? $_GET[‘$a’] ?> 相当于输出
- 在数组里没有下标时,你把它输出,它就会报错
- $GET 是系统创建的全局变量,有特殊意义,需要用大写还有开头需要下划线 ,是专门用来获取 ur1 上的传值
五.switch计算器,与判断
- 源代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form action="" method="get">
<h1>计算器</h1>
<input type="number" name="num1" value="<?= isset($_GET['num1']) ? $_GET['num1'] : '' ?>">
<select name="opt">
<option value="+" <?= isset($_GET['opt']) && $_GET['opt'] == '+' ? 'selected' : '' ?>> + </option>
<option value="+" <?= isset($_GET['opt']) && $_GET['opt'] == '-' ? 'selected' : '' ?>> - </option>
<option value="*" <?= isset($_GET['opt']) && $_GET['opt'] == '*' ? 'selected' : '' ?>> * </option>
<option value="/" <?= isset($_GET['opt']) && $_GET['opt'] == '/' ? 'selected' : '' ?>> / </option>
<option value="%" <?= isset($_GET['opt']) && $_GET['opt'] == '%' ? 'selected' : '' ?>> % </option>
</select>
<input type="number" name="num2" value="<?= isset($_GET['num2']) ? $_GET['num2'] : '' ?>">
<input type="submit" value="计算">
</form>
</body>
</html>
<?php
$num1 = $_GET['num1'];
$num2 = $_GET['num2'];
$opt = $_GET['opt'];
$num3 = 0;
if (!empty($_GET)) {
switch ($opt) {
case '+':
if ($num1 <= '0' || $num2 <= '0') {
$num3 = '输入值不能小于0!';
} else {
$num3 = $num1 + $num2;
}
break;
case '-':
if ($num1 <= '0' || $num2 <= '0') {
$num3 = '输入值不能小于0!';
} else {
$num3 = $num1 - $num2;
}
break;
case '*':
if ($num1 <= '0' || $num2 <= '0') {
$num3 = '输入值不能小于0!';
} else {
$num3 = $num1 * $num2;
}
break;
case '/':
if ($num1 <= '0' || $num2 <= '0') {
$num3 = '输入值不能小于0!';
} else {
$num3 = $num1 / $num2;
}
break;
case '%':
if ($num1 <= '0' || $num2 <= '0') {
$num3 = '输入值不能小于0!';
} else {
$num3 = $num1 % $num2;
}
break;
default:
$num3 = '无效运算!';
}
echo '(数字1):' . ($num1) . $_GET['opt'] . '(数字2):' . ($num2) . '结果=' . $num3;
}
?>
- 计算器效果
- 判断输入值不能下于0
1、练习下这堂课学的 2、计算机的if 改为 switch 3、自己增加下判断,不让结果为0, 或者 判断 传值的时候 不要小于0