博客列表 >php循环控制1.8作业

php循环控制1.8作业

-   迷舍人
- 迷舍人原创
2020年01月10日 17:08:02647浏览

for/while遍历关联数组

  1. // 流程控制之循环
  2. $arr1 = ['html', 'css', 'js', 'php', 'laraval'];
  3. // 几个使用函数
  4. // count() 计算数组元素的数量
  5. echo '数组的数量是:'. count($arr1). '<br>';
  6. //strlen() 计算字符串长度
  7. echo '字符串的长度是:'. strlen('php.cn'). '<br>';
  8. //trim(), rtrim(), ltrim() 是从字符串两边 右边 左边 删除指定的字符,默认删除的是空格
  9. $str = ' php.cn ';
  10. echo '字符串原始长度是:'. strlen($str) . '<br>';
  11. $str = trim($str);
  12. echo '字符串当前长度是:'. strlen($str) . '<br>';
  13. // mt_rand(min, max) 产生指定范围的随机数
  14. $randcolor = 'rgb('. mt_rand(0,255). ','. mt_rand(0,255). ','. mt_rand(0,255). ')';
  15. echo $randcolor. '<br>';
  16. echo '<h3 style="color:'.$randcolor.'";>自学<h3>';
  17. //for() 计数循环
  18. // for(循环变量的初始化,循环条件,更新循环条件)
  19. $result = '';
  20. for ($i=0; $i < count($arr1); $i++) {
  21. // $result = '<span style="color:'.$randcolor.'">'. $result. $arr1[$i]. '</span>'. ',';
  22. $result = $result. $arr1[$i];
  23. }
  24. echo rtrim($result,','). '<br>';
  25. // while() : 根据循环条件,只要条件满足 就一直执行循环体中的语句
  26. // while() : 根据循环条件的位置,分为两种,入口判断,出口判断
  27. // 循环变量必须写在while外部
  28. echo '<hr>';
  29. //入口判断
  30. $i = 0;
  31. $result ='';
  32. while ($i < count($arr1)) {
  33. $result = '<span style="color:'.$randcolor.'">'. $result. $arr1[$i]. '</span>'. ',';
  34. $i++;
  35. }
  36. echo rtrim($result,','). '<br>';
  37. // 出口判断
  38. $i = 0;
  39. $result ='';
  40. do {
  41. $result = '<span style="color:'.$randcolor.'">'. $result. $arr1[$i]. '</span>'. ',';
  42. $i++;
  43. }while ($i > count($arr1));
  44. echo rtrim($result,','). '<br>';
  45. // ======================================================
  46. echo '<hr>';
  47. $arr2 = ['id'=>1002, 'name'=>'小明', 'pirce'=>222];
  48. foreach ($arr2 as $key => $value) {
  49. echo $key . '='. $value. '<br>';
  50. }
  51. echo '<hr>';
  52. // for 遍历 关联数组
  53. // key() current() 分别返回当前元素的键和值
  54. // next() 将指针只想数组当前元素的下一个元素位置 reset()进行指针复位
  55. for ($i=0; $i < count($arr2); $i++) {
  56. echo key($arr2). '===>'. current($arr2). '<br>';
  57. next($arr2);
  58. }
  59. // while () 遍历 关联数组
  60. reset($arr2);
  61. $i = 0;
  62. while ($i < count($arr2)) {
  63. echo key($arr2). '===>'. current($arr2). '<br>';
  64. next($arr2);
  65. $i++;
  66. }
  67. // 循环表单的应用
  68. $months = range(1,12);
  69. $select = '月份: <select name="months">';
  70. foreach ($months as $month) {
  71. $select = $select .'<option value="'.$month.'">' .$month .'月'.'</option>';
  72. }
  73. $select = $select.'</select>';
  74. echo $select;

for 遍历 关联数组

key() current() 分别返回当前元素的键和值

next() 将指针指向数组当前元素的下一个元素位置 reset()进行指针复位

end()是直接将指针数组的最后一个元素

验证表单信息

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>用户注册</title>
  6. <style type="text/css">
  7. .item{
  8. width: 800px;
  9. height: 500px;
  10. margin: auto;
  11. }
  12. .item > h3{
  13. display: flex;
  14. justify-content: center;
  15. color:red;
  16. border-bottom:1px red solid;
  17. box-sizing: border-box;
  18. }
  19. .item > form{
  20. display: flex;
  21. flex-direction: column;
  22. align-items: center;
  23. border: 1px #8888 solid;
  24. background-color: #d9d9d9;
  25. }
  26. .item > form > span{
  27. margin-top: 8px;
  28. }
  29. .item > form > span:hover{
  30. background-color: blank;
  31. }
  32. .item > form > span > button{
  33. border: none;
  34. background-color: #fff;
  35. width: 80px;
  36. height: 30px;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div class="item">
  42. <h3>用户注册</h3>
  43. <form action="demo3.php" method="post">
  44. <span>
  45. <label for="username">用户名</label>
  46. <input type="text" name="username" id="username" required>
  47. </span>
  48. <span>
  49. <label for="password1">密码</label>
  50. <input type="password" name="password1" id="password1" required>
  51. </span>
  52. <span>
  53. <label for="password2">重复密码</label>
  54. <input type="password" name="password2" id="password2" required>
  55. </span>
  56. <span>
  57. <label for="email">邮箱</label>
  58. <input type="email" name="email" id="email">
  59. </span>
  60. <span>
  61. <label for="passwor">性别</label>
  62. <input type="radio" name="gender" value="male" id="male" required>
  63. <label for="male"></label>
  64. <input type="radio" name="gender" value="female" id="female" required>
  65. <label for="female"></label>
  66. </span>
  67. <span>
  68. <button>提交注册</button>
  69. </span>
  70. </form>
  71. </div>
  72. </body>
  73. </html>

php验证代码

  1. // 超全局变量:
  2. // 1是指每一个php程序(就是一个动态的php页面)都已经存在的变量,不需要用户区主动创建
  3. // 2它的值,是由系统根据每个php程序自动设置初始值,大部分反应程序状态
  4. // 3它的值,大多是允许用户更新,但不能删除它,否则会引起致命错误。
  5. // 4 他没有作用域显示,无论是全局,还是函数中,都直接用,不需要声明
  6. // $_REQUEST 请求数据的超全局变量,里面保存的是用户所有的请求数据
  7. // echo '<pre>'. print_r($_REQUEST ,true). '</pre>';
  8. // echo '<pre>'. print_r($_POST ,true). '</pre>';
  9. // echo '用户名:'. $_POST['username'] . '<br>';
  10. // 判断用户的请求类型是否合法
  11. // echo '请求类型是:'. $_SERVER['REQUEST_METHOD'] . '<br>';
  12. if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  13. //检查请求变量是否设置,并且不能为NULL,isset()
  14. // if (isset($_POST['username'])) {
  15. // echo '有';
  16. // }else{
  17. // echo '无';
  18. // }
  19. //empty() 空字符串, 0 NULL false
  20. // if (!empty($_POST['username'])) {
  21. // echo '有';
  22. // }else{
  23. // echo '无';
  24. // }
  25. if (!empty($_POST['username'])) $username = $_POST['username'];
  26. if (!empty($_POST['password1'])) $password1 = $_POST['password1'];
  27. if (!empty($_POST['password2'])) $password2 = $_POST['password2'];
  28. if (!empty($_POST['email'])) $email = $_POST['email'];
  29. if (!empty($_POST['gender'])) $gender = $_POST['gender'];
  30. //两次密码必须一致
  31. if ($password1 === $password2) {
  32. $password = $password1;
  33. }else{
  34. exit('<script>alert("两次密码不一致");history.back();</script>');
  35. }
  36. $data = compact('username', 'password', 'email', 'gender');
  37. echo '<per>'. print_r($data, true). '</per>';
  38. }else{
  39. exit('<h3 style="color:red">请求类型错误</h3>');
  40. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议