运算符与循环结构的用法、异步请求fetch使用(响

编辑: admin 分类: 电脑知识 发布时间: 2023-06-14 来源:互联网
一、运算符1.1、算数运算符
  1. $year = date('Y');
  2. echo $year. "年" . "<br /><br />";
  3. // 除以4余数为0(能被4整除) 并且(&&) 除以不能被100整除
  4. if($year % 4 == 0 && $year % 100 !== 0 ) {
  5. echo "{$year}是闰年";
  6. }else{
  7. echo "{$year}是平年";
  8. }
1.2、比较运算符:返回布尔型,用在流程控制
  1. var_dump( 10 > 1 );


1.3逻辑运算符

|| && ! 返回布尔型,用在流程控制语句

  1. /**
  2. * !! 或,两边的表达式只要一个为true,返回true
  3. * && 且,两边的表达式全部为true,返回true
  4. * ! 取反
  5. */
  6. /**
  7. * = 赋值运算符
  8. * == 值比较
  9. * === 严格比较,比较值和类型
  10. */
  1. var_dump(0 == '0');
  2. echo '<br /><br />';
  3. var_dump(0 === '0');
  4. echo '<br /><br />';
  5. var_dump( 1>0 || 4>5);
  6. echo '<br /><br />';
  7. $username = 'admin';
  8. if (isset($username) && $username === 'admin') {
  9. echo '欢迎管理员{$username}回来';
  10. }


1.4、三元运算符
  1. /**
  2. * 表达式1 ? 表达式2 : 表达式3
  3. * 如果 表达式1 为true,则返回 表达式2 结果; 为false,返回 表达式3 结果
  4. */
  1. $var1 = 1;
  2. $var2 = 2;
  3. echo $var1<1 ? $var1 : $var2 . "<br /><br />";
  4. echo $var1=1 ? $var1 : $var2 . "<br /><br />";


isset 以及 ??" class="reference-link">1.5、isset 以及 ??
  1. $page = isset($_GET['p']) ? $_GET['p'] : 1;
  2. // ?? null合并运算符,告别isset()
  3. $page = $_GET['p'] ?? 1;
  4. echo $page;

二、循环解构

while循环for循环foreach循环

  1. $cities = ['北京','南京','上海','湖南','新疆'];
  2. echo "========while 循环=======<br /><br />";
  3. // while 循环
  4. $i=0;
  5. while( $i < count($cities) ){
  6. echo $cities[$i] . "<br />";
  7. $i++;
  8. };
  9. echo "<br /><br />";
  10. echo "========for 循环=======<br /><br />";
  11. // for 循环
  12. for ($i=0; $i < count($cities); $i++) {
  13. echo $cities[$i] . "<br />";
  14. }
  15. echo "<br /><br />";
  16. echo "========foreach 循环=======<br /><br />";
  17. // foreach 循环
  18. foreach($cities as $k => $v){
  19. echo $k . ":" . $v. "<br />";
  20. }


三、异步请求fetch使用HTML文件:
  1. <form class="login">
  2. <table>
  3. <caption>
  4. 用户登录
  5. </caption>
  6. <tbody>
  7. <tr>
  8. <td><label for="email">邮箱:</label></td>
  9. <td><input type="email" name="email" id="email" placeholder="username@email.com" /></td>
  10. </tr>
  11. <tr>
  12. <td><label for="password">密码:</label></td>
  13. <td><input type="password" name="password" id="password" /></td>
  14. </tr>
  15. <tr>
  16. <td colspan="2"><button onclick="doLogin(this)" type="button">提交</button></td>
  17. </tr>
  18. </tbody>
  19. </table>
  20. </form>

type="button",添加按键事件 onclick="doLogin(this)",通过点击触发事件" class="reference-link">注意点是:button按钮添加属性值 type="button",添加按键事件 onclick="doLogin(this)",通过点击触发事件
HTML的js事件:
  1. <script>
  2. async function doLogin(e) {
  3. const email = e.form.email.value;
  4. const password = e.form.password.value;
  5. // 非空验证
  6. if (email.length > 0 && password.length > 0) {
  7. // 异步提交
  8. const response = await fetch('./lib/user/check.php', {
  9. // 请求方法
  10. method: 'POST',
  11. // 请求头
  12. headers: {
  13. 'content-type':'application/json;charset=UTF-8'
  14. },
  15. // 请求参数
  16. body: JSON.stringify({
  17. email,
  18. password
  19. })
  20. });
  21. // 解析数据
  22. const result = await response.json();
  23. }
  24. }
  25. </script>

接收用户数据服务器文件.php
  1. <?php
  2. // 获取用户登录数据,不能用传统的表单格式提交
  3. // json当成文本流原始数据接收
  4. $json = file_get_contents('php://input');
  5. // $json 并非php能识别的数据类型,它只是json格式的字符串而已
  6. // json -> php.array, true: 数组
  7. $user = json_decode($json, true);
  8. echo json_encode($user);


流程图:

【文章出处:建湖网站制作 http://www.1234xp.com/jianhu.html 欢迎留下您的宝贵建议】