博客列表 >PHP 1.7作业

PHP 1.7作业

-   迷舍人
- 迷舍人原创
2020年01月10日 14:52:13704浏览

常量的创建与访问

运行图

代码如下

  1. // 常量
  2. // define() 方法来创建常量
  3. define('APP_NAME', '多用户商城');
  4. // const 方法来创建常量
  5. const APP_PATH = 'app/admin/index/index.php';
  6. echo APP_NAME . '<br>' . APP_PATH . '<br>';
  7. class A
  8. {
  9. // const 可以创建类常量
  10. const NATION = 'China';
  11. // define() 不能创建类常量
  12. }
  13. echo a::NATION . '<br>';
  14. echo '<hr>';
  15. // define() 定义的常量允许使用表达式作为值,而const只能使用字面量
  16. $domain = 'china.com';
  17. define('MY_EMAIL', 'admin@' . $domain);
  18. echo MY_EMAIL .'<br>';
  19. // const YOU_MEAIL = 'admin@' . $domain;
  20. const YOU_MEAIL = 'admin@qq.com';
  21. echo YOU_MEAIL . '<br>';

双引号对变量和特殊字符的处理方式

双引号可以解析特殊字符和变量 单引号不可以解析特殊字符和变量

  1. $name = 'admin';
  2. // 单引号中的内容会原样输出,不解析内部的变量和特殊字符
  3. echo '$name\t的值是\t$name' . '<br>';
  4. // 双引号的变量和特殊字符会被解析
  5. echo "$name\t的值是\t$name" . '<br>';
  6. // 不相忘第一个变量被解析,可以在第一个$name前添加转义字符`\`
  7. echo "\$name\t的值是\t$name" . '<br>';
  8. // 在单引号或双引号中再次使用单引号或者双引号,也可以使用专义字符`\`
  9. echo '$name\t的值是\t\'$name\'' . '<br>';
  10. // 如何在字符串中输出转义字符
  11. echo "\\$name";

索引数组与关联数组的常用操作


  1. // 索引数组
  2. // 1创建索引数据
  3. $users1[] = 100;
  4. $users1[] = 'admin';
  5. $users1[] = 'admin@qq.cn';
  6. // 查看全部元素
  7. echo '<pre>' . print_r($users1,true) . '</pre>';
  8. // 通过字面量一次性添加多个元素
  9. $users2 = ['200','user','aaa@qq.cn'];
  10. echo '<pre>' . print_r($users2,true) . '</per>';
  11. // 如果想获取到变量或数组元素的更多信息,可以使用var_dump()
  12. var_dump($users1);
  13. echo '<hr>';
  14. // 索引数组的访问
  15. // 访问某一个元素,当成变量
  16. echo $users1[2] . '<br>';
  17. // 索引数组的遍历
  18. foreach ($users1 as $itme) {
  19. echo $itme . '<br>';
  20. }
  21. echo '<hr>';
  22. // 数组元素与变量之间的转换
  23. $users2 = ['200','user','aaa@qq.cn'];
  24. list($id, $user, $email) = $users2;
  25. echo "id => $id, user => $user ,email => $email";
  26. // 数组转为字符串 拉平一个数组,存储到数据表
  27. $users3[] = 100;
  28. $users3[] = 'admin';
  29. $users3[] = 'admin@qq.cn';
  30. echo '<hr>';
  31. $s = implode(',', $users1);
  32. echo $s;
  33. $sql = "insert user set comment = ${s}";
  34. echo '<hr>';
  35. //将一个字符串 再转换成索引数组
  36. $users4 = ['200','user','aaa@qq.cn'];
  37. $bb = explode(',','$users4');
  38. // echo $bb;
  39. echo '<pre>' . print_r($users4,true) . '</per>';
  40. // ------------------------------------------------------
  41. echo '<hr>';
  42. // 关联数组
  43. // 键名采用语义化的字符串 访问时不再依赖于元素在数组中的位置
  44. $users5['id'] = 1;
  45. $users5['name'] = '手机';
  46. $users5['price'] = 3000;
  47. echo '<pre>' . print_r($users5,true) . '</pre>';
  48. //用字面量方式创建
  49. $users6 = ['id'=>2, 'name'=>'电脑', 'price'=>5999];
  50. // 用遍历
  51. foreach ($users6 as $value) {
  52. echo $value. '<br>';
  53. }
  54. foreach ($users6 as $key => $value) {
  55. echo "['$key']=>$value".'<br>';
  56. }
  57. echo '<hr>';
  58. // 关联数组与变量之间的转换
  59. extract($users6);
  60. // 关联数组转换成了变量
  61. // $id = 2, $name = '电脑', $price = 5999
  62. echo "id=>$id, name=>$name, price=>$price";
  63. //反过来也可以将一些独立的变量组装成一个关联数组
  64. echo '<hr>';
  65. $dsn = 'sqlsadfergasdf';
  66. $username = 'root';
  67. $password = 'root';
  68. $link = compact('dsn', 'username', 'password');
  69. echo '<pre>'. print_r($link,true). '</pre>';
  70. //将关联数组转换成索引数组
  71. echo '<hr>';
  72. $arr = array_values($users6);
  73. echo '<pre>'. print_r($arr,true). '</pre>';
  74. // ----------------------------------------------------
  75. echo '<hr>';
  76. // 多维数组
  77. // 数组元素,除了可以是原始类型,也可以是一个数组,这时就形成了多维数组
  78. // 从数据表中读取的记录 php会转成二维数组,日常开发,二维数组用的最多
  79. $user = [
  80. ['id'=> 101, 'name'=> '平板', 'price'=> 9000],
  81. ['id'=> 102, 'name'=> '手机卡', 'price'=> 100],
  82. ['id'=> 103, 'name'=> '归属感', 'price'=> 80],
  83. ];
  84. echo $user[1]['name'];
  85. foreach ($user as $user) {
  86. // print_r($user);
  87. // echo '<br>';
  88. echo "id=>{$user['id']}, name={$user['name']}, price=>{$user['price']}";
  89. }

分支控制的所有形式的基本实现

  1. //流程控制之分支
  2. // 1单分支
  3. // 购买数量
  4. $count = 11;
  5. // 单价
  6. $price = 50;
  7. // 金额
  8. $total = 0;
  9. // 折扣率
  10. $discount = 1;
  11. if ($count >= 10 && $count < 20) {
  12. $discount = 0.9;
  13. }
  14. $total = $count * $price * $discount;
  15. echo "数量:$count 金额:$total 折扣:$discount<hr>";
  16. // 2双分支
  17. $count = 3;
  18. if ($count >= 10 && $count <20) {
  19. $discount = 0.9;
  20. }else{
  21. $discount = 1;
  22. }
  23. $total = $count * $price * $discount;
  24. echo "数量:$count 金额:$total 折扣:$discount<hr>";
  25. // 3多分枝
  26. $count = 32;
  27. if ($count >= 10 && $count < 20) {
  28. $discount = 0.9;
  29. }elseif ($count >=20 && $count <=30) {
  30. $discount = 0.8;
  31. }elseif ($count >=30) {
  32. $discount = 0.7;
  33. }else{
  34. $discount = 1;
  35. }
  36. $total = $count * $price * $discount;
  37. echo "数量:$count 金额:$total 折扣:$discount<hr>";
  38. // 4 switch() 简化多分支
  39. $count = 31;
  40. switch (true) {
  41. case $count >= 10 && $count < 20:
  42. $discount = 0.9;
  43. break;
  44. case $count >=20 && $count <=30:
  45. $discount = 0.8;
  46. break;
  47. case $count >=30:
  48. $discount = 0.7;
  49. break;
  50. default:
  51. $discount = 1;
  52. }
  53. $total = $count * $price * $discount;
  54. echo "数量:$count 金额:$total 折扣:$discount<hr>";
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议