登录  /  注册
博主信息
博文 77
粉丝 0
评论 0
访问量 76341
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
运算符与循环结构的用法、异步请求fetch使用(响应、用户数据接收用户数据`file_get_contents('php://input')`)
Jet的博客
原创
636人浏览过

一、运算符

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 />";


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>

注意点是: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);


流程图:

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学