运算符与循环结构的用法、异步请求fetch使用(响
一、运算符1.1、算数运算符
1.3逻辑运算符
1.4、三元运算符
isset 以及
二、循环解构
三、异步请求fetch使用HTML文件:
type="button",添加按键事件
HTML的js事件:
接收用户数据服务器文件.php
流程图:【文章出处:建湖网站制作 http://www.1234xp.com/jianhu.html 欢迎留下您的宝贵建议】
1.2、比较运算符:返回布尔型,用在流程控制
$year = date('Y');
echo $year. "年" . "<br /><br />";
// 除以4余数为0(能被4整除) 并且(&&) 除以不能被100整除
if($year % 4 == 0 && $year % 100 !== 0 ) {
echo "{$year}是闰年";
}else{
echo "{$year}是平年";
}
var_dump( 10 > 1 );
1.3逻辑运算符
|| && ! 返回布尔型,用在流程控制语句
/**
* !! 或,两边的表达式只要一个为true,返回true
* && 且,两边的表达式全部为true,返回true
* ! 取反
*/
/**
* = 赋值运算符
* == 值比较
* === 严格比较,比较值和类型
*/
var_dump(0 == '0');
echo '<br /><br />';
var_dump(0 === '0');
echo '<br /><br />';
var_dump( 1>0 || 4>5);
echo '<br /><br />';
$username = 'admin';
if (isset($username) && $username === 'admin') {
echo '欢迎管理员{$username}回来';
}
1.4、三元运算符
/**
* 表达式1 ? 表达式2 : 表达式3
* 如果 表达式1 为true,则返回 表达式2 结果; 为false,返回 表达式3 结果
*/
$var1 = 1;
$var2 = 2;
echo $var1<1 ? $var1 : $var2 . "<br /><br />";
echo $var1=1 ? $var1 : $var2 . "<br /><br />";
isset 以及
??
" class="reference-link">1.5、isset
以及 ??
$page = isset($_GET['p']) ? $_GET['p'] : 1;
// ?? null合并运算符,告别isset()
$page = $_GET['p'] ?? 1;
echo $page;
二、循环解构
while循环
、for循环
、foreach循环
$cities = ['北京','南京','上海','湖南','新疆'];
echo "========while 循环=======<br /><br />";
// while 循环
$i=0;
while( $i < count($cities) ){
echo $cities[$i] . "<br />";
$i++;
};
echo "<br /><br />";
echo "========for 循环=======<br /><br />";
// for 循环
for ($i=0; $i < count($cities); $i++) {
echo $cities[$i] . "<br />";
}
echo "<br /><br />";
echo "========foreach 循环=======<br /><br />";
// foreach 循环
foreach($cities as $k => $v){
echo $k . ":" . $v. "<br />";
}
三、异步请求fetch使用HTML文件:
<form class="login">
<table>
<caption>
用户登录
</caption>
<tbody>
<tr>
<td><label for="email">邮箱:</label></td>
<td><input type="email" name="email" id="email" placeholder="username@email.com" /></td>
</tr>
<tr>
<td><label for="password">密码:</label></td>
<td><input type="password" name="password" id="password" /></td>
</tr>
<tr>
<td colspan="2"><button onclick="doLogin(this)" type="button">提交</button></td>
</tr>
</tbody>
</table>
</form>
type="button",添加按键事件
onclick="doLogin(this)"
,通过点击触发事件" class="reference-link">注意点是:button按钮添加属性值 type="button"
,添加按键事件 onclick="doLogin(this)"
,通过点击触发事件HTML的js事件:
<script>
async function doLogin(e) {
const email = e.form.email.value;
const password = e.form.password.value;
// 非空验证
if (email.length > 0 && password.length > 0) {
// 异步提交
const response = await fetch('./lib/user/check.php', {
// 请求方法
method: 'POST',
// 请求头
headers: {
'content-type':'application/json;charset=UTF-8'
},
// 请求参数
body: JSON.stringify({
email,
password
})
});
// 解析数据
const result = await response.json();
}
}
</script>
接收用户数据服务器文件.php
<?php
// 获取用户登录数据,不能用传统的表单格式提交
// json当成文本流原始数据接收
$json = file_get_contents('php://input');
// $json 并非php能识别的数据类型,它只是json格式的字符串而已
// json -> php.array, true: 数组
$user = json_decode($json, true);
echo json_encode($user);
流程图:【文章出处:建湖网站制作 http://www.1234xp.com/jianhu.html 欢迎留下您的宝贵建议】