一.isset()与 empty()函数
isset()函数
- isset()函数中
0、false、''
都认为它们是有值的,返回值是 true null 和 没有这个变量
,返回值是 false
$null = null;
$num = 0;
$str = '';
$bool = false;
var_dump(isset($num)); // true
echo '<br>';
var_dump(isset($str)); // true
echo '<br>';
var_dump(isset($bool)); // true
echo '<br>';
var_dump(isset($null)); // false
echo '<br>';
var_dump(isset($no)); //false
empty()函数
- empty()函数判断变量为空的情况时会返回 true
- 空字符串
'' 数字零0 bool值false null 字符串零'0' 或没有这个变量
,都为空,返回值为 true
$str = '';
$num = 0;
$bool = false;
$null = null;
$str0 = '0';
var_dump(empty($str)); // true
echo '<br>';
var_dump(empty($num)); // true
echo '<br>';
var_dump(empty($bool)); // true
echo '<br>';
var_dump(empty($null)); // true
echo '<br>';
var_dump(empty($str0)); // true
echo '<br>';
var_dump(empty($no)); // true
二.switch 语句
switch (n)
{
case label1:
如果 n=label1,此处代码将执行;
break;
case label2:
如果 n=label2,此处代码将执行;
break;
default:
如果 n 既不等于 label1 也不等于 label2,此处代码将执行;
}
三.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>简易计算器</title>
</head>
<body>
<h2>简易计算器</h2>
<form action="" method="get">
<input type="number" name="num1" value="<?= isset($_GET['num1']) ? $_GET['num1'] : ''; ?>">
<select name="opt" id="">
<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
if(!empty($_GET)){
$opt = $_GET['opt'];
$num1 = $_GET['num1'];
$num2 = $_GET['num2'];
switch($opt){
case '+':
$num = $num1 + $num2 ;
echo '计算结果:'.$num1.'+'.$num2.'='.$num;
break;
case '-':
$num = $num1 - $num2 ;
echo '计算结果:'.$num1.'-'.$num2.'='.$num;
break;
case '*':
$num = $num1 * $num2 ;
echo '计算结果:'.$num1.'×'.$num2.'='.$num;
break;
case '/':
if($num2 == 0){
echo '除数不能为0';
}else{
$num = $num1 / $num2 ;
echo '计算结果:'.$num1.'÷'.$num2.'='.$num;
}
break;
case '%':
if($num2 == 0){
echo '除数不能为0';
}else{
$num = $num1 % $num2 ;
echo '计算结果:'.$num1.'%'.$num2.'='.$num;
}
break;
}
}
?>