博主信息
博文 94
粉丝 0
评论 0
访问量 117984
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
【PHP】PHP 流程控制(while,for,foreach,数组的遍历解构和快速解构)
可乐随笔
原创
2357人浏览过

PHP 流程控制

1. 分支结构

//if 单分支
//if 双分支
// 双分支语法糖:三元表达式
echo $age >=18 ? '成年' : '未成年';
// 多分支语法糖

  1. switch(true){
  2. case $age > 18 :
  3. echo '成年';
  4. break;
  5. case $age < 7 :
  6. echo '幼儿园';
  7. break;
  8. default:
  9. echo '这里是默认';
  10. }

2. 循环结构

1.while
2.for
3.forEach:一般用来数据取值
4.三个关键字:break:结束循环; continue:结束本次循环;
5.关联数据建议使用 foreach 进行遍历。
6.foreach 遍历中,直接解构一维数组
7.extract(); 快速解构(隐式解构)

  1. <?php
  2. $data = ['cid' => 1, 'cname' => '新闻360', 'curl' => 'news.php'];
  3. // * 关联数组=>遍历:建议使用 foreach
  4. // ! forEach : 可以遍历任何类型的数组,对象
  5. foreach ($data as $key => $value) {
  6. printf('[%s]=>[%s]<br>', $key, $value);
  7. }
  8. echo '<hr>';
  9. //只关注值
  10. foreach ($data as $value) {
  11. printf('[%s]<br>', $value);
  12. }
  13. echo '<hr>';
  14. //while
  15. // $i = 0;
  16. // while ($i < count($data)) {
  17. // //key():当前数组元素的键;current():当前数据元素的值;
  18. // printf('[%s]=>[%s]<br>', key($data), current($data));
  19. // //下移指针,指向后一个元素
  20. // next($data);
  21. // $i++;
  22. // }
  23. // echo '<hr>';
  24. // reset():重置数组,因为数组指针已经指向了最后一个
  25. // reset($data);
  26. //for
  27. // for ($i = 0; $i < count($data); $i++) {
  28. // //key():当前数组元素的键;current():当前数据元素的值;
  29. // printf('[%s]=>[%s]<br>', key($data), current($data));
  30. // //下移指针,指向后一个元素
  31. // next($data);
  32. // }
  33. // echo '<hr>';
  34. // * while ,for 对于关联数据,非常别扭
  35. //数组查询 => 二维数组
  36. $data = [
  37. ['id' => 4, 'title' => '文章标题1', 'url' => 'aaaa'],
  38. ['id' => 5, 'title' => '文章标题2', 'url' => 'bbbb'],
  39. ['id' => 6, 'title' => '文章标题3', 'url' => 'cccc'],
  40. ];
  41. foreach ($data as $value) {
  42. echo print_r($value, true) . '<br>';
  43. // ,true 表示将数组转为字符串,方便拼接后面的 <br>
  44. }
  45. echo '<hr>';
  46. // 不打印第一条
  47. foreach ($data as $key => $value) {
  48. if ($key == 0) {
  49. continue; //结束当前,进入下一轮
  50. //break;结束循环,直接跳出
  51. }
  52. echo print_r($value, true) . '<br>';
  53. // ,true 表示将数组转为字符串,方便拼接后面的 <br>
  54. }
  55. echo '<hr>';
  56. // foreach 遍历中,直接解构一维数组
  57. foreach ($data as list('id' => $id, 'title' => $title, 'url' => $url)) {
  58. printf('%d:%s,%s<br>', $id, $title, $url);
  59. }
  60. echo '<hr>';
  61. // extract(); 快速解构(隐式解构)
  62. foreach ($data as $value) {
  63. extract($value);
  64. printf('%d:%s,%s<br>', $id, $title, $url);
  65. }

3. 流程控制的替换写法: 模板语法

  1. <?php
  2. // 流程控制的替换写法: 模板语法
  3. // 为了在与 html 代码混编时,干掉大括号,全用“冒号”代替
  4. if (true) {
  5. echo 'xxx';
  6. } else {
  7. echo 'xxx';
  8. };
  9. // 替换语法
  10. if (true) :
  11. echo 'xxx';
  12. else :
  13. echo 'xxx';
  14. endif;
  15. switch (true):
  16. case 'xxx';
  17. case 'xxx';
  18. default:
  19. 'xxx';
  20. endswitch;
  21. while (true) :
  22. endwhile;
  23. for (;;) :
  24. endfor;
  25. foreach($data as $k=>$v):
  26. echo 'xxx';
  27. endforeach;
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

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