博客列表 >php数组的foreach和for遍历循环,以及系统函数,自定义函数的使用,数组遍历的模板语法以及定界符单引号双引号的使用

php数组的foreach和for遍历循环,以及系统函数,自定义函数的使用,数组遍历的模板语法以及定界符单引号双引号的使用

卢先生
卢先生原创
2022年01月19日 16:24:00649浏览

数组的遍历循环

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title><?php echo '数组的遍历循环'; ?></title>
  7. </head>
  8. <body>
  9. <?php
  10. $navs = [
  11. ['id' => 1, 'name' => '前端课程'],
  12. ['id' => 2, 'name' => '后端课程'],
  13. ['id' => 3, 'name' => '微信相关'],
  14. ['id' => 4, 'name' => '辅助学习'],
  15. ['id' => 5, 'name' => '可视化布局'],
  16. ];
  17. // 用foreach来遍历
  18. foreach ($navs as $key => $value) {
  19. echo "</br>键{$key}的栏目是{$value['name']}";
  20. }
  21. // 用for来遍历
  22. // for循环首先要获取数组的索引长度,用count(数组)来获取,跟js类似,先赋值一个i=0;然后i要小于数组的长度, i++递增
  23. for ($i = 0; $i < count($navs); $i++) {
  24. echo '</br>' . '键' . $i . '的栏目是' . $navs[$i]['name'] . '.';
  25. }
  26. ?>
  27. </body>
  28. </html>

数组的单引号双引号定界符

  1. <?php
  2. // error_reporting(0);//屏蔽系统错误级别,0为屏蔽,-1位不屏蔽
  3. $int = 23;
  4. var_dump($int);
  5. // 返回的是数字23
  6. $int = '23';
  7. var_dump($int);
  8. // 返回的是字符23
  9. /**
  10. * 字符串 定义在单引号、双引号、定界符
  11. * 单引号:无法解析变量与转义符
  12. * 双引号、定界符:可以解析变量与转义符
  13. * 定界符 用于输出长字符串,可以解析变量
  14. *
  15. */
  16. // 单引号示例+字符串拼接,字符串的拼接php中用 . 来拼接
  17. $age = '5';
  18. var_dump($age);
  19. echo $age;
  20. //单引号下的 字符串拼接示例, 字符串用''包裹
  21. echo '小王今年' . $age . '岁。';
  22. // 而单引号下如果不适用 . 拼接,将不识别变量 如下
  23. echo '小王今年$age岁';
  24. //双引号下将支持变量的识别解析,但不能准确的识别出变量的长短,需要用{}进行包裹,以防超出长度范围
  25. echo "小王今年{$age}岁";
  26. // 双引号/单引号示例2
  27. $name = '老王';
  28. echo "我是$name,我今年18岁。";
  29. echo '我是$name,我今年18岁。'; //单引号下将原样的输出,并不会解析出变量
  30. //定界符 <<<EXO 要输出的内容及变量 EXO; 以<<<大写字符开始 变量 大写字符结束;
  31. //先写一个一维数组
  32. $user = ['name' => '老王', 'age' => 18, 'tel' => 18888888888];
  33. //定界符好像不能再一行,如果在一行好像不能识别
  34. $username = <<<USER
  35. <div>{$user['name']}今年{$user['age']},他的电话是{$user['tel']}</div>
  36. USER;
  37. echo $username;
  38. //数组 是键值对的集合 $key => $value
  39. // 示例
  40. $user = ['name' => '老王', 'age' => 18, 'tel' => 18888888888];
  41. //访问数组内的成员
  42. echo $user['name']; //变量[键]
  43. //多维数组
  44. $users = [
  45. ['name' => '老王', 'age' => 18, 'tel' => 18888888888],
  46. ['name' => '老刘', 'age' => 19, 'tel' => 18888888889],
  47. ['name' => '老杨', 'age' => 20, 'tel' => 18888888890],
  48. ];
  49. // 先打印他的输出集合看一下
  50. var_dump($users);
  51. // 打印其中的某一个值
  52. var_dump($users[0]['name']); //多维数组中,内的数组也是有键的,键默认从0开始
  53. //2中特殊类型 (resource,null) 保存到外部资源的类型,和空类型,这里的空仅代表变量为空
  54. // resource 保存到外部资源的一个引用,资源是由专门的函数来建立和使用的
  55. // 资源类型/空类型
  56. $log = fopen('php.log', 'w'); //函数fopen()对文件操作,fopen('文件路径名','读写等操作')
  57. var_dump($log);
  58. // 发现一个问题,可能是权限不足,当时没有写入文件,用终端就行了
  59. // file_put_contents 向文件内写入文件
  60. // $read = file_put_contents('php.log', 'hello world');
  61. $read = file_put_contents('php.log', '你好啊');
  62. $reads = file_put_contents('php.log', '灭绝', FILE_APPEND);
  63. var_dump($read);
  64. var_dump($reads);
  65. //null空类型
  66. // null只是代表一个变量没有值 不代表变量内容为0,也不代表为''
  67. $avatar = null;
  68. // unset($users) //释放销毁变量 释放销毁$users变量

数组的模板语法:

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title><? echo 'php页面中与html混编使用短标签及php模板语法'; ?></title>
  7. </head>
  8. <body>
  9. <!-- 使用短标签需要在php配置文件中开启short_open_tag = On 选项 -->
  10. <?php
  11. /**
  12. * 数组的遍历操作
  13. * 数组的遍历操作
  14. * foreach ($arr as $key => $value){
  15. *
  16. * echo $value['name']
  17. * }
  18. */
  19. $navs = [
  20. ['id' => 1, 'name' => '前端课程'],
  21. ['id' => 2, 'name' => '后端课程'],
  22. ['id' => 3, 'name' => '微信相关'],
  23. ['id' => 4, 'name' => '辅助学习'],
  24. ['id' => 5, 'name' => '可视化布局'],
  25. ];
  26. var_dump($navs);
  27. foreach ($navs as $key => $value) {
  28. echo "<br>当前键为{$key}栏目为{$value['name']} ";
  29. }
  30. ?>
  31. <!-- foreach模板语法 -->
  32. <div>
  33. <ul> <!-- 原生的写法,当前写法-->
  34. <?php foreach ($navs as $key => $value) { ?>
  35. <li><?= $value['name'] ?> </li>
  36. <?php } ?>
  37. </ul>
  38. <ul>
  39. <!-- 模板语法2: 在foreach起始部分将{}去除,替换成: 尾部用endforeach替换 -->
  40. <?php foreach ($navs as $key => $value) : ?>
  41. <li><?= $value['name'] ?></li>
  42. <? endforeach ?>
  43. </ul>
  44. <ul>
  45. <!-- 模板语法3:直接遍历 输出字符串 放在""双引号中 -->
  46. <?php
  47. foreach ($navs as $key=>$value){
  48. echo "<li>{$value['name']}</li>";
  49. }
  50. ?>
  51. </ul>
  52. </div>
  53. <!-- php模板语法 为了省略流程控制中或者循环遍历中 的{}对齐问题 -->
  54. <!-- foreach ...endforeach if...endif switch... endswitch while...endwhile -->
  55. </body>
  56. </html>

php的系统函数及自定义函数

  1. <?php
  2. /**
  3. * 函数 完成特定的功能的代码块
  4. * function 函数名(参数,参数可为多个值){
  5. * 函数体
  6. * return返回值
  7. *
  8. * }
  9. *
  10. */
  11. echo mt_rand(1, 5);
  12. // mt_rand()其实就是一个函数,是系统内置的一个函数,随机数字函数
  13. echo abs(-88); //整值函数
  14. echo strtoupper('hello world'); //将小写转为大写
  15. //快速生成一个数组
  16. $arr = range(1, 10);
  17. var_dump($arr); //输出十个数组
  18. $arr = range(1, 10, 1); //随机10个数组并且间隔1
  19. var_dump($arr); //打印
  20. print_r($arr); //输出为数组格式
  21. echo strlen('hello world'); //计算长度
  22. ////上面是系统定义的函数//////
  23. // 自定义函数
  24. // 使用function 来定义函数
  25. function add($a, $b)
  26. {
  27. return $a + $b;
  28. }
  29. // 调佣函数
  30. echo add(2, 3);
  31. ob_clean();
  32. // 变量严格区分大小写,函数不区分大小写
  33. $username = 'mr.wang';
  34. echo $username;
  35. echo POW(3, 5); //求次方
  36. Var_Dump($username);
  37. ob_clean();
  38. $nows = '我不想写作业,我想玩';
  39. $res = str_replace('不想', '**', $nows);
  40. echo $res;
  41. // 以数组的方式替换 1比1数组替换
  42. $res = str_replace(['不想', '玩'], ['想使劲', '使劲写作业'], $nows);
  43. echo $res;
  44. //购物车
  45. ?>

购物车计算总和

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>购物车</title>
  7. </head>
  8. <body>
  9. <?php
  10. $arr = [
  11. ['name' => '苹果', 'id' => '1', 'num' => 1, 'price' => 5],
  12. ['name' => '矿泉水', 'id' => '2', 'num' => 1, 'price' => 2],
  13. ['name' => '冰红茶', 'id' => '3', 'num' => 1, 'price' => 5],
  14. ['name' => '大红袍', 'id' => '4', 'num' => 1, 'price' => 120],
  15. ];
  16. function pr($price, $num)
  17. {
  18. return $price * $num;
  19. }
  20. $total_price = 0;
  21. foreach ($arr as $key => $value) {
  22. $total_price += pr($value['price'], $value['num']);
  23. echo $total_price . '<br>';
  24. }
  25. ?>
  26. <table border="1" >
  27. <thead>
  28. <tr>
  29. <td>品名</td>
  30. <td>id</td>
  31. <td>数量</td>
  32. <td>价格</td>
  33. </tr>
  34. </thead>
  35. <tbody>
  36. <?php foreach ($arr as $key => $value) { ?>
  37. <tr>
  38. <td><?= $value['name'] ?></td>
  39. <td><?= $value['id'] ?></td>
  40. <td><?= $value['num'] ?></td>
  41. <td><?= $value['price'] ?></td>
  42. </tr>
  43. <?php } ?>
  44. </tbody>
  45. <tfoot>
  46. </tfoot>
  47. </table>
  48. <p>总和为:<?php echo $total_price; ?></p>
  49. <button>购买</button>
  50. </body>
  51. </html>

示例截图:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议