1.比较符
比较符,左右2边比较,它比较完,只有2种结果 ture false 假 布尔值
() 是if的,()里,也只有2种结果,只要比较后的结果。
if($name){
}
var_dump(18<20);
2.自定义函数
在方法的()后面增加类型,要求方法返回的结果类型
function jia($a,$b):array{
return [$a + $b];
}
var_dump( jia(10,20));
先调用函数,后创建函数是没有问题的
var_dump( jia(10,20));
function jia($a,$b):array{
return [$a + $b];
3,逻辑运算符
// $nian = 60;
// and or xor !
// and && 都是与 and左右两边的条件,都是真, 它就是真
// $nian >= 18 and $nian <= 45 对比 是ture
// if($nian <= 6 ){
// echo '幼儿';
// }else if($nian >= 7 and $nian <= 12){
// echo '青少年';
// }elseif($nian >= 13 and $nian <= 18){
// echo '青少年';
// }elseif($nian >= 18 and $nian <= 45){
// echo '青壮年';
// }else{
// echo '老年';
// }
// or || 当if()里面2个条件,一个是真,一个是假
// 一个真,返回真
//2个都是真,返回真
//2个都是假,返回假
// if($nian != 46 || $nian <= 69){
// echo '老年';
// }
// true 当成运算以后的结果
// var_dump(true or false);// 结果是ture
// var_dump(false or false); // 结果是false
//xor
// var_dump(true xor true); // 结果是false
// var_dump(true xor false); // 结果是ture
// var_dump(false xor false); // 结果是false
! 取反
var_dump(!false);
var_dump(!true);
$name = '';
if($name){
}{
$name = '学习';
}
if(!$name){
$name = '学习';
}
echo $name
if() // 是php的流程判断
4.switch 流程判断
if($nian <= 6 ){
echo '幼儿';
}else if($nian >= 7 and $nian <= 12){
echo '青少年';
}elseif($nian >= 13 and $nian <= 18){
echo '青少年';
}elseif($nian >= 18 and $nian <= 45){
echo '青壮年';
}else{
echo '老年';
}
$nian = 10;
5.match 流程条件,只要找数据出
$name = 'hahaha';
echo match($name){
'hahaha' => '哈哈哈',
'hahahaha' => '哈哈哈哈',
'hahahahaha' => '哈哈哈哈哈',
}
6.逻辑函数
isset()
empty()
//因为一个空格,判断就进入了true
//当直接判断变量时,会出现一些小问题
// $name = '';
// isset 只要变量存在, 就是ture
//! isset()
// if (!isset($name)){
// echo '我是有名字的';
// }else{
// echo '我是没有名字的';
// }
//我们有时候,只需要一个判断,就是要取反
// if (!isset($name)){
// echo '我是没有名字的';
// }
//! empty()
// null ,0 ,'', false
// 如果那么是空,就为ture
// if (empty($name)){
// echo '我是没有名字的';
// }
7.switch 方式写计算器 ————————————————————
<?php
if(!empty($_GET)){
}else{
$num1 = $num2 = '';
}
$num1 = (int)$_GET['num1'] ?? ''; // 获取num1的GET值
$num2 = (int)$_GET['num2'] ?? ''; // 获取num1的GET值
$opt = $_GET['opt'] ?? '';
$result = 0; // 存计算结果
if(!is_numeric($num1)){
$result = '请输入数字1';
}else if(!is_numeric($num2)){
$result = '请输入数字2';
}else{
switch($opt){
case '+':
$result = $num1 + $num2;
break;
case '-':
$result = $num1 - $num2;
break;
case '*':
$result = $num1 * $num2;
break;
case '/':
if($num2 == '0'){
$result = '除数不能为0 !';
}else
{
$result = $num1 / $num2;
}
break;
case '%':
if($num2 == '0'){
$result = '除数不能为0 !';
}else
{
$result = $num1 % $num2;
}
break;
default:
$result = '无效运算!';
};
}
?>
<!DOCTYPE html>
<html lang="en">
<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>
<!-- 短标签,在原生代码里会使用 -->
<!-- 短标签 <?=$_GET['num2']; ?> 相当于输出 -->
<!-- key = value 多个参数中间用& 分割多个参数-->
<!-- 当数组里没有对应得下标时,你把它输出就会报错 -->
<form action="" method="get">
<input type="number" name="num1" value="<?=isset($_GET['num1'])?$num1:''; ?>">
<!-- url 上的get传值,能不能默认到html里面呢 -->
<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'])?$num2:''; ?>">
<input type="submit" value="计算">
<label>结果:</label><input type="text" value = "<?= $result ?>">
</form>
</body>
</html>