Blogger Information
Blog 16
fans 0
comment 1
visits 5761
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
运算符 循环 异步提交 接收数据
P粉890456325
Original
310 people have browsed it

运算符 循环 异步提交 接收数据

运算符

  1. <?php
  2. /**
  3. * ; php指令分隔符
  4. * php 功能执行语句 必须以;结束
  5. * 结构定义语句
  6. *
  7. */
  8. //! PHP运算符
  9. function demo()
  10. {
  11. }
  12. class demo
  13. {
  14. }
  15. // 算数运算符 + - * / % 去余
  16. // 能被4整除但不能被100整除的都是闰年,其余的年份均为平年
  17. $year = date("Y");
  18. // echo $year;
  19. if ($year % 4 == 0 && $year % 100 !== 0) {
  20. echo "{$year}是闰年";
  21. } else {
  22. echo "{$year}是平年";
  23. }
  24. // 控制随机数的范围 0-50
  25. // echo mt_rand() % 50;
  26. echo mt_rand(0, 50);
  27. // 比较运算符 返回布尔型 用在流程控制语句
  28. var_dump(11 > 10);
  29. // 逻辑运算符 || && ! 返回布尔型 用在流程控制语句
  30. /**
  31. * || 或 两边的表达式只要一个为true 返回true
  32. *
  33. * && 且 两边的表达式全部为true 返回true
  34. *
  35. * !
  36. * */
  37. /**
  38. * = 赋值运算符
  39. * == 值比较
  40. * === 严格比较 值 类型
  41. */
  42. var_dump(1 > 0 || 4 > 5);
  43. var_dump(0 === '0');
  44. $username = 'admin';
  45. //isset检验变量是否存在
  46. if (isset($username) && $username === 'admin') {
  47. echo "欢迎管理员{$username}回来";
  48. }
  49. $email = $_GET['email'];//filter_var检测邮箱 FILTER_VALIDATE_EMAIL邮箱常量
  50. if (isset($email) && filter_var($email, FILTER_VALIDATE_EMAIL)) {
  51. echo '邮箱验证通过';
  52. } else {
  53. echo '请输入有效的邮箱';
  54. }
  55. ob_clean();
  56. //三元运算符 表达式 ? :
  57. // $pwd = sha1('wwwphpcn');//哈希运算
  58. $pwd = isset($pwd) ? $pwd : 'root';
  59. // 检测页码
  60. // $page = isset($_GET['p']) ? $_GET['p'] : 1;
  61. // ?? null合并运算符 告别isset()
  62. $page = @$_GET['p'] ?? 1;
  63. echo $page;

循环

  1. <?php
  2. // ! 循环 while
  3. $cities = ['合肥', '南京', '杭州', '苏州', '上海', '北京'];
  4. next($cities);//移动指针
  5. next($cities);
  6. next($cities);
  7. next($cities);
  8. reset($cities);//复位指针
  9. // echo current($cities);//获取数组长度
  10. // while循环 入口判断型循环
  11. // while ($city = current($cities)) {
  12. // echo $city . '<br>';
  13. // next($cities);
  14. // }
  15. // while ($city = current($cities)) :
  16. // echo $city . '<br>';
  17. // next($cities);
  18. // endwhile;
  19. // do..while出口型判断循环
  20. // $i = 0;
  21. // do {
  22. // echo $cities[$i];
  23. // $i++;
  24. // } while ($i < count($cities));
  25. // for 计数型循环
  26. // for ($i = 0; $i < count($cities); $i++) {
  27. // // break 提前结束循环
  28. // if ($i > 2) break;
  29. // echo $cities[$i];
  30. // }
  31. // continue 跳出某一轮循环 选择性输出
  32. for ($i = 0; $i < count($cities); $i++) {
  33. if ($i == 2 || $i == 3) continue;
  34. echo $cities[$i];
  35. }
  36. foreach ($cities as $k => $v) {
  37. }

在 PHP 中,有以下循环语句:
while - 只要指定条件为真,则循环代码块
do…while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
foreach - 遍历数组中的每个元素并循环代码块

PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。

语法
while (条件为真) {
要执行的代码;
}

上例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:

实例

  1. <?php
  2. $x=1;
  3. while($x<=5) {
  4. echo "这个数字是:$x <br>";
  5. $x++;
  6. }
  7. ?>

PHP do…while 循环
do…while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。

语法
do {
要执行的代码;
} while (条件为真);

下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:

实例

  1. <?php
  2. $x=1;
  3. do {
  4. echo "这个数字是:$x <br>";
  5. $x++;
  6. } while ($x<=5);
  7. ?>

请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。

PHP for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。

语法
for (init counter; test counter; increment counter) {
code to be executed;
}

参数:
init counter:初始化循环计数器的值

test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。

increment counter:增加循环计数器的值

实例

  1. <?php
  2. for ($x=0; $x<=10; $x++) {
  3. echo "数字是:$x <br>";
  4. }
  5. ?>

PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。

语法

  1. foreach ($array as $value) {
  2. code to be executed(执行 );
  3. }

每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。

下面的例子演示的循环将输出给定数组($colors)的值:

实例

  1. <?php
  2. $colors = array("red","green","blue","yellow");
  3. foreach ($colors as $value) {
  4. echo "$value <br>";
  5. }
  6. ?>

异步提交 login.php

  1. <!-- 引入页眉 -->
  2. <?php
  3. // 配置文件引入
  4. include __DIR__ . '/config/common.php';
  5. // 引入页眉
  6. include TMPL_PATH_PUBLIC . '/header.php';
  7. ?>
  8. <!-- 主体 -->
  9. <main>
  10. <!-- 用户登录 -->
  11. <!-- action="dologin.php" type="submit"> 此为同步提交-->
  12. <form class="login" >
  13. <table>
  14. <caption>
  15. 用户登录
  16. </caption>
  17. <tbody>
  18. <tr>
  19. <td><label for="email">邮箱:</label></td>
  20. <td><input type="email" name="email" id="email" /></td>
  21. </tr>
  22. <tr>
  23. <td><label for="password">密码:</label></td>
  24. <td><input type="password" name="password" id="password" /></td>
  25. </tr>
  26. <tr>
  27. <td colspan="2"><button onclick="doLogin(this)" type="button">登录</button></td>
  28. </tr>
  29. </tbody>
  30. </table>
  31. </form>
  32. <p>
  33. <a href="register.php">没有帐号,请先注册</a>
  34. </p>
  35. </main>
  36. <script>
  37. async function doLogin(obj){
  38. // alert('123');
  39. const email = obj.form.email.value;
  40. const password = obj.form.password.value;
  41. // console.log(password);
  42. //非空验证
  43. //
  44. if (email.length > 0 && password.length > 0) {
  45. // 异步提交 fetch API
  46. const response = await fetch('./lib/user/check.php', {
  47. // 请求方法
  48. method: 'POST',
  49. // 请求头
  50. headers: {
  51. 'Content-Type': 'application/json;charset=utf-8'
  52. },
  53. body: JSON.stringify({
  54. email,
  55. password
  56. })
  57. });
  58. // 解析数据
  59. const result = await response.json();
  60. console.log(result);
  61. } else {
  62. alert('邮箱或密码不能为空');
  63. }
  64. }
  65. </script>
  66. <!-- 引入页脚 -->
  67. <?php include TMPL_PATH_PUBLIC . '/footer.php' ?>

接收数据check.php

  1. <?php
  2. // 获取用户登录数据 不能用传统的表单格式提交 ($_POST) , json
  3. // json当成文本流原始数据来接收
  4. $json = file_get_contents('php://input');
  5. // echo $json;
  6. // $json并非php能识别的数据类型,它只是json格式的字符串而已
  7. // json_decode函数 是把json ->转换为 php.array , true: 数组 不加TRUE 就是php对象
  8. $user = json_decode($json, true);
  9. //var_dump($user);
  10. echo json_encode($user);//返回数组对象

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!