php运算符
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>php运算符</title>
</head>
<body>
<p>1. 算术运算符</p>
<p> 1. + $a+$b a与a与b 的和<br>
2. - $a-$b a与a与b 的差<br>
3. * $a*$b a与a与b 的积<br>
4. / $a/$b a与a与b 的商<br>
5. % $a%$b a与a与b 的余(模)<br>
6. ++ $a++/++$a 先用再加/先加再用<br>
7. -- $a--/--$a 先用再减/先减再用<br>
8. ** 2**4 幂运算:2 的 4 次方</p>
<?php
// 1. 算术运算符
$a= 1;$b=2;
// +运算符
printf('%d + %d =%d<br>',$a,$b,$a+$b);
// -运算符
printf('%d - %d = %d<br>',$b,$a,$b-$a);
// *运算符
printf('%d * %d = %d<br>',$b,$a,$b*$a);
// /运算符
printf('%d / %d = %d<br>',$b,$a,$b/$a);
// %运算符
$a =10;$b=3;
printf('%d 取余 %d = %d<br>',$a,$b,$a%$b);
// ++运算符
printf('++$a = %d<br>', ++$a);
// --运算符
printf('--$a = %d<br>', --$a);
// **运算符
printf('**$a = %d<br>', $a**$b);
echo '<hr>';
?>
<p>字符串拼装 .</p>
<p>. 连接运算,返回连接之后的字符串</p>
<?php
// 字符串拼装 . 连接运算,返回连接之后的字符串
echo 'name'.$b;
echo '<hr>';
?>
<p>赋值运算符</p>
<p> 1 . `=` `$a = 10` 将表达式的值赋给变量 <br>
2 . `+=` `$a += 10` `$a = $a + 10;` <br>
3 . `-=` `$a -= 10` `$a = $a - 10;` <br>
4 . `*=` `$a *= 10` `$a = $a * 10;` <br>
5 . `/=` `$a /= 10` `$a = $a / 10;` <br>
6 . `%=` `$a %= 10` `$a = $a % 10;` <br>
7 . `.=` `$a .= 'a'` `$a = $a . 'a';` </p>
<?php
// = 赋值运算符 将表达式的值赋给变量
echo $a = $a+$b;
echo '<br>';
// += 赋值运算符
echo $a+=$b;
echo '<br>';
// -= 赋值运算符
echo $a -=$b;
echo '<br>';
// *= 赋值运算符
echo $a *=$b;
echo '<br>';
// /= 赋值运算符
echo $a /=$b;
echo '<br>';
// %= 赋值运算符
echo $a %=$b;
echo '<br>';
// .= 赋值运算符
echo $a .=$b;
echo '<hr>';
?>
<p>比较运算符</p>
<p>
1 . `>` `$a > $b` 大于 <br>
2 . `>=` `$a >= $b` 大于或等于 <br>
3 . `<` `$a < $b` 小于 <br>
4 . `<=` `$a <= $b` 小于或等于
5 . `==` `$a == $b` 等于 (值相等即可) <br>
6 . `===` `$a == $b` 全等于(二边值与类型全等)
7 . `!=` `$a != $b` 不相等 <br>
8 . `!==` `$a !== $b` 不全等 <br>
9 . `<=>` `$a <=> $b` 太空船`php7+` <br>
比较运算符: 返回布尔值,常用于流程控制中(`if/while/for...`)<br>
`<=>`: 也叫组合比较符, 例如`$a <=> $b`, 有三种返回结果<返回-1, = 返回0,>返回1 </p>
<?php $a=5;$b=10;
// 用于判断中的比较运算符
if($a<$b)echo "{$a}<{$b}";
echo '<br>';
echo $a !== $b ? 'true' : 'false';
echo '<br>';
// <=>太空船比较预算符
echo $a <=> $b;
echo '<hr>';
?>
<p>逻辑预算符</p>
<p>
与 &&, 或 ||, 非 ! <br>
要求二边的操作数都bool,如果不是就自己动手</p>
<?php
// &&预算符
$name = 'admin';
$pwd = '123456';
if((isset($name)&&$name ==='admin') && (isset($pwd)&&$pwd === '123456')) {
echo '登录成功';
}else{
echo '登录失败';
}
echo '<hr>';
// ||预算符
$name1 = 'php';
if(isset($name)&&$name === 'admin' || isset($name)&&$name1 ==='php'){
echo $name .'=>'. $name1;
}
echo '<br>';
// !预算符
$a ='';
if(!$a){
echo $a . '为空';
}
echo '<br>';
// 三元运算
$a= '123';
echo !$a ? $a : '$a为空';
?>
<p>三元运算实战 检测页码</p>
<p>为a连接设置默认id</p>
<a href="http://14php.php/a/php/1.php?id=<?=$_GET['id'] ?? 1?>">点击我</a>
<hr>
<h3>字符串的插值</h3>
<p> 单引号与双引号定义的字符串是有区别<br>
双引号中的字符串,更像是一个模板<br>
这个模板中除了字面量之外,还可以有“变量”和“转义序列”<br>
\n: 换行, \r:回车, \t:tab, \\, \$ <br>
模板中的变量应该有一个边界,将变量放在一对大括号中<br>
nl2br()在 \n 前面自动插入 <br>
</p>
<?php
$name = '手机';
$sum = '3';
$price = 6699;
echo $template ="品牌:{$name}<br>数量:{$sum} <br>价格:{$price}<br>";
// nl2br()在 \n 前面自动插入 <br>
echo $template =nl2br( "品牌:{$name}\n数量:{$sum} \n价格:{$price}");
?>
<p>heredoc: 双引号字符串替代语法</p>
<p>比较适合输出大量的多行的内部存在变量的html代码</p>
<?php
echo <<<SHOW
<ul>
<li>{$name}</li>
<li>{$sum}</li>
<li>{$price}</li>
</ul>
SHOW // SHOW:必须要写到第一列,必须要与起始的名称一致
?>
</body>
</html>
分支与循环结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>分支与循环结构</title>
</head>
<body>
<h3>单分支</h3>
<?php
$score = 55;
if($score <60){
echo '你需要补考哟';
}
echo '<br>';
// 替代语法
// 目标是干掉大括号
if($score <60):
echo '你需要补考哟';
endif;
?>
<h3>双分支</h3>
<?php
if(isset($score)){
echo "你的当前分数:$score";
}else{
echo "当前分数不存在";
}
echo '<br>';
// 替代语法
if(isset($score)):
echo "你的当前分数:$score";
else:
echo "当前分数不存在";
endif;
?>
<h3>多分支</h3>
<?php
$score=100;
if($score >= 60 && $score < 90){
echo '恭喜你及格了';
}elseif($score >= 90 && $score <= 100){
echo '哇 学霸哟!';
}elseif($score > 100){
echo '无效分数';
}else{
echo '不及格哟';
}
echo '<br>';
// 替代语法
if($score >= 60 && $score < 90):
echo '恭喜你及格了';
elseif($score >= 90 && $score <= 100):
echo '哇 学霸哟!';
elseif($score > 100):
echo '无效分数';
else:
echo '不及格哟';
endif;
?>
<h3>switch更多用在单值判断</h3>
<?php
$name = '2';
switch($name):
case '1';
echo '我是1';
break;
case '2';
echo '我是2';
break;
case '3';
echo '我是3';
break;
default:
echo '我是4';
endswitch;
?>
<h3>用分支在html中使用</h3>
<?php $name = '张三' ?>
<?php if(isset($name)):?>
<li><?=$name?></php></li>
<?php endif?>
</body>
</html>
php 循环语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>php 循环语法</title>
</head>
<body>
<h1>php 循环语法</h1>
<p>循环结构:三要素<br>
1. 循环条件的初始值<br>
2. 循环条件<br>
3. 更新循环条件</p>
<h3>while循环</h3>
<?php
$name = ['张三','李四','王五','马六'];
$i = 0;//循环条件的初始值
while($i<count($name)){
echo $name[$i].'<br>';
$i++;//更新循环条件
}
?>
<h3>计算式 for循环</h3>
<p>语法:for (初始条件; 循环条件; 更新条件)</p>
<?php
for($i =0;$i<count($name);$i++){
echo $name[$i].'<br>';
}
?>
<h3>for的模板语法</h3>
<?php for($i =0;$i<count($name);$i++):?>
<p><?=$name[$i]?></p>
<?php endfor?>
<h3> 提前终止循环</h3>
<p>continue:提前终止本轮循环,进入到下一轮<br>
break :直接退出循环 </p>
<?php
// continue:提前终止本轮循环,进入到下一轮
for($i =0;$i<count($name);$i++){
if($i === 2)continue;
echo $name[$i].'<br>';
}
echo '<br>';
// break :直接退出循环
for($i =0;$i<count($name);$i++){
if($i === 2)break;
echo $name[$i].'<br>';
}
?>
<h3>foreach遍历数组</h3>
<?php
foreach($name as $val){
echo $val.'<br>';
}
?>
<h3>foreach的模板语法</h3>
<?php foreach($name as $val):?>
<p><?= $val ?></p>
<?php endforeach?>
</body>
</html>
include,require的区别
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>php文件包含: 模块化编程</title>
</head>
<body>
<h1>php文件包含: 模块化编程</h1>
<p>include,require 将一个外部的文档插入到当前的代码块中</p>
<h3>include文件包含</h3>
<p>被插入的脚本 可以访问当前作用域中的所有成员及函数</p>
<?php
$name = '你好php';
function a(){
echo '我是php';
}
// include 'a.php';
?>
<p>include是在运行阶段包含,所以可以用在if中</p>
<?php
if(isset($name)){
include 'a.php';
}
?>
<p>注:include 一旦引入文件不存在会继续执行后续代码;而require则会停止执行后续代码</p>
</body>
</html>
a.php代码
<?php
echo $name;
echo '<br>';
echo a();
?>