Blogger Information
Blog 16
fans 0
comment 1
visits 5799
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1. 代码演绎PHP的8种变量类型与常量。2.变量作用域与PHP流程控制。
P粉890456325
Original
876 people have browsed it

1. 代码演绎PHP的8种变量类型与常量。2.变量作用域与PHP流程控制。

1. 代码演绎PHP的8种变量类型与常量。





  1. <?php
  2. //!数据类型 4种标准类型 整型 浮点型 字符串 布尔
  3. echo '<pre>';
  4. $price=4800;
  5. echo $price;
  6. var_dump($price);//int(4800)
  7. $price=89.99;
  8. var_dump($price);//float(89.99)
  9. $flag=true;
  10. var_dump($flag);//bool(true)
  11. $username='admin';
  12. var_dump($username);//string(5) "admin"
  13. //php变量是大小写敏感 php函数不大小写敏感
  14. /**
  15. * echo 输出一个或者多个字符串
  16. * var_dump()打印值的结构、类型、值,用于任何类型,多变量
  17. * print_r() 打印人类可读的变量信息 用于数组 第二个参数为 true,print_r() 将返回信息,而不是打印它,返回 string
  18. * var_export()输出或返回变量的可解析字符串表示
  19. */
  20. $arr = ['php', 'java', 'nodejs'];
  21. $return = print_R($arr, true);
  22. echo $return;
  23. var_dump($arr);
  24. // var_dump([1, 2, 3, 4]);
  25. var_export($arr);
  26. //! 2 数组 对象
  27. // 数组 根据键名,可分为索引数组,关联数组
  28. // 索引数组 int
  29. echo '<pre>';
  30. $data = [1, 2, 3, 4, 44, 33];
  31. $data = ['前端', '后端', '数据库', '运维'];
  32. var_dump($data);
  33. // 关联数组 string
  34. $navs = ['id' => 1, 'name' => '前端', 'url' => 'front-end.php'];
  35. var_dump($navs);
  36. $navs = [
  37. 0 => ['id' => 1, 'name' => '前端', 'url' => 'front-end.php'],
  38. 1 => ['id' => 2, 'name' => '后端', 'url' => 'back-end.php'],
  39. 2 => ['id' => 3, 'name' => '数据库', 'url' => 'data.php'],
  40. 3 => ['id' => 4, 'name' => '运维', 'url' => 'operation.php']
  41. ];
  42. var_dump($navs);
  43. // ! 数组遍历 for
  44. $nav = '';
  45. for ($i = 0; $i < count($navs); $i++) {
  46. $nav .= "<a href='{$navs[$i]['url']}' style='padding: 0 15px' >{$navs[$i]['name']}</a>";//需要加花括号才能解析
  47. }
  48. echo $nav;
  49. ob_clean();
  50. echo '<pre>';
  51. //! foreach
  52. $nav = '';
  53. foreach ($navs as $v) {
  54. // var_dump($k, $v);
  55. $nav .= "<a href='{$v['url']}' style='padding: 0 15px' >{$v['name']}</a>";
  56. }
  57. echo $nav;
  58. // ! list() 把数组中的值赋给一组变量 不是真正的函数,而是语言结构
  59. $names = array('西门', '灭绝', '欧阳', '天蓬');
  60. $num = count($names);//返回数组的数量
  61. list($a, $b, $c, $d) = $names;
  62. echo "{$a},{$b},{$c},{$d}是PHP中文网的{$num}位老师";
  63. // ! extract() 从数组中将变量导入到当前的符号表 此函数会将键名当作变量名,值作为变量的值。 不要对不可信的数据使用 extract(),类似用户输入 (例如 $_GET、$_FILES)。
  64. $final = ['id' => 1, 'name' => '前端', 'url' => 'front-end.php'];
  65. extract($final);
  66. echo $id, $name, $url;
  67. ?>
  68. <!DOCTYPE html>
  69. <html lang="en">
  70. <head>
  71. <meta charset="UTF-8">
  72. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  73. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  74. <title>Document</title>
  75. </head>
  76. <body>
  77. <form action="test.php" method="post">
  78. <label for="uname">用戶名</label>
  79. <input type="text" name="uname" id="uname">
  80. <label for="pwd">密碼</label>
  81. <input type="password" name="pwd" id="pwd">
  82. <button>提交</button>
  83. </form>
  84. </body>
  85. </html>

对象, resource , null的应用

  1. <?php
  2. ob_clean();
  3. // !對象 对象是类实例化(new)的结果, 类是具有相同属性和行为的一组对象的集合
  4. class NbaPlay
  5. {
  6. public $name;//公开
  7. private $team;//保密
  8. public function __construct($team)
  9. {
  10. $this->team = $team;
  11. }
  12. public function play()
  13. {
  14. return $this->name . '在' . $this->team . ' ,正在打比赛<br>';
  15. }
  16. }
  17. $p = new NbaPlay('湖人队');
  18. $p->name = 'James';
  19. echo $p->play();
  20. var_dump($p);
  21. // object(NbaPlay)#1 (2) { ["name"]=> string(5) "James" ["team":"NbaPlay":private]=> string(9) "湖人队" }
  22. // ! resource , null
  23. $fp = fopen('test.php', 'r');
  24. var_dump($fp); // resource(3) of type (stream)
  25. // null 空 != false != 0 != ''
  26. @var_dump($emp);
  27. $var = null;
  28. unset($fp);//释放变量
  29. @var_dump($fp);

2.变量作用域与PHP流程控制

变量作用域

  1. <?php
  2. /**
  3. * 变量作用域
  4. */
  5. define('NATION', '中国');
  6. function demo()
  7. {
  8. // $a,$b是定义在函数内部,属于局部变量 只在函数内部访问有效
  9. $a = 100;
  10. $b = 200;
  11. echo ($a + $b);
  12. }
  13. demo();
  14. // echo $a, $b;//非法访问,在函数外部不能访问到布局变量
  15. // 全局变量 无法在函数内部直接调用
  16. $one = 100;
  17. $two = 200;
  18. function test()
  19. {
  20. // 1. global
  21. global $one, $two;
  22. echo "运算结果是" . ($one + $two);
  23. // 2. $GLOBALS超全布变量
  24. echo "运算结果是" . ($GLOBALS['one'] + $GLOBALS['two']);
  25. echo NATION; //说明常量不受作用域限制
  26. }
  27. test();
  28. var_dump($_GET);
  29. ob_clean();
  30. echo '<pre>';
  31. print_r(get_defined_vars(true));
  32. //系统预定义变量
  33. // 超全局变量: 数组,任何地方都可以访问,不受作用域限制
  34. // $GLOBALS: 引用全局作用域中可用的全部变量
  35. // $_SERVER: 服务器和执行环境信息
  36. // $_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
  37. // $_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
  38. // $_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
  39. // $_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
  40. // $_SESSION:当前脚本可用 SESSION 变量的数组
  41. // $_REQUEST: 默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
  42. // $_ENV: 通过环境方式传递给当前脚本的变量的数组

PHP流程控制

  1. <?php
  2. /**
  3. * php流程控制结构
  4. */
  5. //!1. 单一条件分支结构
  6. // if(条件表达式 true)
  7. // {
  8. // #满足条件执行的代码块
  9. // }
  10. if (1 == 1) {
  11. echo 111;
  12. }
  13. //! 2.双向条件分支结构 if...else
  14. // if(条件表达式)
  15. // {
  16. // #满足条件执行的代码块
  17. // } else{
  18. #不满足条件执行的代码块
  19. // }
  20. // if():
  21. // endif;
  22. //3. 多向条件分支结构 if elseif elseif else
  23. $age = 85;
  24. $gender = '女';
  25. if ($gender == '女' && $age < 55) :
  26. echo "您好女士,距离您退休还有" . (55 - $age) . "年<br>";
  27. elseif ($gender == '女' && $age > 55) :
  28. echo "您好女士,您已经退休" . ($age - 55) . "年了<br>";
  29. elseif ($gender == '男' && $age < 60) :
  30. echo "先生您好,距离您退休还有" . (60 - $age) . "年<br>";
  31. elseif ($gender == '男' && $age > 60) :
  32. echo "先生您好 ,您已经退休" . ($age - 60) . "年了<br>";
  33. else :
  34. echo '很抱歉,您输入的信息不正确';
  35. endif;
  36. ob_clean();
  37. $d = date("w"); //0-6
  38. switch ($d):
  39. case 1:
  40. echo '今天是工作日星期一';
  41. break;
  42. case 2:
  43. echo '今天是工作日星期二';
  44. break;
  45. case 3:
  46. echo '今天是工作日星期三';
  47. break;
  48. case 4:
  49. echo '今天是工作日星期四';
  50. break;
  51. case 5:
  52. echo '今天是工作日星期五';
  53. break;
  54. default:
  55. echo "今天休息!";
  56. endswitch;
  57. // break 退出当前循环 continue 跳过此次循环,进入下一轮循环
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
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