Blogger Information
Blog 24
fans 4
comment 0
visits 20133
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1月8日 学号:478291 PHP循环语句
Lin__
Original
822 people have browsed it

字符串操作函数

  • strlen(),统计字符串的长度
  • trim() | ltrim() | rtrim(),去除字符串两端的指定字符 | 去除左侧指定字符 | 去除右侧指定字符,不设置默认为空格;使用方式:trim(‘要操作的字符串’,’要去除的字符串’)
  • 示例与运行结果:
  1. <?php
  2. $str = '*Hello world!*';
  3. echo strlen($str).'<br />';
  4. echo trim($str,'*').'<br />';
  5. echo ltrim($str,'*').'<br />';
  6. echo rtrim($str,'*').'<br />';

数组操作函数

  • count(),计算数组的元素个数
  • key(), 返回当前指向元素的键名
  • current(),返回当前指向元素的值
  • next(), 指向当前元素的指针移动到下一个元素的位置,返回当前元素的值
  • prev(),指向当前元素的指针移动到上一个元素的位置
  • reset(), 把数组的内部指针指向第一个元素
  • end(), 把数组的内部指针指向最后一个元素
  • 示例与运行结果:
  1. <?php
  2. $arr=[1,2,3,4,5];
  3. echo count($arr).'<br />';
  4. echo key($arr).'<br />';
  5. echo current($arr).'<br />';
  6. echo next($arr).'<br />';
  7. echo prev($arr).'<br />';
  8. echo reset($arr).'<br />';
  9. echo end($arr).'<br />';

其他函数

  • mt_rand(),在区间之间生成一个随机数。参数有两个:最小值,最大值
  • range(), 创建一个包含指定范围的元素的数组 。参数: 数组的最低值 , 数组的最高值 ,数组元素之间的步值(可选)
  • isset(),判断变量是否被定义,若变量存在,即使值为NULL,也返回true
  • empty(),判断变量是否有值,变量的值为NULL或为0时,返回true
  • 示例与运行结果:
  1. <?php
  2. echo '生成1~10之间的随机数:'.mt_rand(1,10).'<br />';
  3. echo '生成1~10之间的数组:'.'<br />';
  4. var_dump(range(1,10));
  5. $name;
  6. echo isset($name).'<br />';
  7. echo empty($name).'<br />';

for循环语句

  • 循环执行代码块指定的次数,如果确定循环的次数,可以使用for
  • 语法:
  1. for (初始化循环计数器的值; 循环条件; 更新循环计数器的值) {
  2. 代码块
  3. }
  • 实现原理:如果是第一轮循环先初始化计数器的值,然后判断是否满足循环条件,满足执行代码块中的代码,更新循环计数器的值,进行下一轮循环
  • 示例与运行结果:
  1. <?php
  2. for($i=1;$i<=5;$i++){
  3. echo '当前是第'.$i.'次循环<br />';
  4. }
  5. echo '<hr />';
  6. //for循环索引素组
  7. $arr=[1,2,3,4];
  8. for($i=0;$i<count($arr);$i++){
  9. echo '第'.$i.'个元素的值是'.$arr[$i].'<br />';
  10. }
  11. echo '<hr />';
  12. //for循环关联数组
  13. $arr2=['name'=>'Lin','sex'=>'女','age'=>25];
  14. for($i=0;$i<count($arr2);$i++){
  15. echo key($arr2).'的值是'.current($arr2).'<br />';
  16. next($arr2);
  17. }

whiledo..while循环语句

  • 只要指定的条件为真,会执行代码块,不能确定循环次数时可以使用
  • while先判断是否符合条件,再执行代码块。do..while先执行再判断,至少执行一次。
  • 语法:
  1. while (循环条件) {
  2. 代码块
  3. }
  4. do {
  5. 代码块
  6. } while (循环条件);
  • 示例与运行结果:
  1. <?php
  2. $a=0;
  3. while($a>0){
  4. echo '当前是第'.$a.'次循环<br />';
  5. $a++;//等同于$a=$a+1
  6. }
  7. echo '<hr />';
  8. $b=0;
  9. do{
  10. echo '当前是第'.$b.'次循环<br />';
  11. }while($b>0);
  12. echo '<hr />';
  13. //while循环索引素组
  14. $arr=[1,2,3,4];
  15. $index=0;
  16. while($index<count($arr)){
  17. echo '第'.$index.'个元素的值是'.$arr[$index].'<br />';
  18. $index++;
  19. }
  20. echo '<hr />';
  21. //while循环关联数组
  22. $index=0;
  23. $arr2=['name'=>'Lin','sex'=>'女','age'=>25];
  24. while($index<count($arr2)){
  25. echo key($arr2).'的值是'.current($arr2).'<br />';
  26. next($arr2);
  27. $index++;
  28. }

三元运算符

  • (表达式1 | 变量) ? (表达式2 | 变量) : (表达式3 | 变量),表达式1为true时,结果为表达式2,否则结果为表达式3
  • (表达式1 | 变量) ? :(表达式2 | 变量),当表达式1结果为true时,结果为表达式1,否则为表达式2.该语法PHP5.3及以上版本支持
  • (表达式1 | 变量) ? ?(表达式2 | 变量),当表达式1结果为true时,结果为表达式1,否则为表达式2.该语法PHP7及以上版本支持

  • 示例与运行结果:

  1. <?php
  2. $a = 1;
  3. echo isset($a)?$a:0;
  4. echo '<br />';
  5. echo $a??0;
  6. echo '<br />';
  7. echo $a?:0;

表单验证

  • $_POST, 预定义变量,用于收集post提交方式 的表单中的值
  • $_GET, 预定义变量,用于收集get提交方式 的表单中的值
  • $_REQUEST, 预定义变量,可以收集postget两种提交方式的表单中的值

  • 示例与运行结果:

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>PHP表单验证</title>
  6. <style>
  7. form{
  8. width: 400px;
  9. height: 200px;
  10. background-color: #0cbadf;
  11. border-radius: 5px;
  12. text-align: center;
  13. margin: auto;
  14. }
  15. form > div{
  16. display: grid;
  17. grid-template-columns: 100px 200px;
  18. margin: 20px 0;
  19. grid-column-gap:10px;
  20. }
  21. form > div > label{
  22. text-align: right;
  23. }
  24. form > div > input{
  25. border-radius: 5px;
  26. }
  27. </style>
  28. </head>
  29. <body>
  30. <form action="index.php" method="post">
  31. <h3>用户登录</h3>
  32. <div>
  33. <label for="username">用户名</label>
  34. <input type="text" name="username" id="username" required autofocus>
  35. </div>
  36. <div>
  37. <label for="password">密码</label>
  38. <input type="password" name="password" id="password" required autofocus>
  39. </div>
  40. <input type="submit" value="登录">
  41. </form>
  42. </body>
  43. </html>
  1. <?php
  2. $username=$_POST['username'];
  3. $password=$_POST['password'];
  4. if(empty($username)){
  5. echo "<script>alert('请输入用户名');</script>";
  6. exit;
  7. }elseif(strlen($username)>20){
  8. echo "<script>alert('用户名长度不得超过20个字符');</script>";
  9. exit;
  10. }
  11. if(empty($password)){
  12. echo "<script>alert('请输入密码');</script>";
  13. exit;
  14. }elseif(strlen($password)<6 || strlen($password)>18){
  15. echo "<script>alert('密码长度在6~18个字符之间');</script>";
  16. exit;
  17. }
  18. echo '登陆成功!欢迎你,'.$username;



Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:isset(),判断变量是否被定义,若变量存在,即使值(不)为NULL, 才返回true,其它情况下返回false, 请注意
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