博客列表 >PHP的8种变量类型与常量、变量作用域、流程控制

PHP的8种变量类型与常量、变量作用域、流程控制

Jet的博客
Jet的博客原创
2023年03月12日 23:22:15437浏览

一、PHP的8种变量

8种变量类型:整型、浮点型、布尔型、字符串、数组、对象、null、资源类型(Resource)

1.1、int 整型

  1. $price = 4800;
  2. echo $price;
  3. var_dump($price); // int 整型


1.2、float 浮点型

  1. $price = 88.88;
  2. echo $price;
  3. var_dump($price); // float 浮点型


1.3、boolean 布尔型

  1. $res = true;
  2. var_dump($res); // boolean 布尔型


1.4、string 字符串

  1. $username = 'username';
  2. var_dump($username); // string 字符串
  3. // ! php 【变量】 是受大小写约束
  4. // ! php 【函数】 不受大小写约束


1.5、array 数组

  1. $arr = array(
  2. ["id" => 1, 'name' => '新闻', 'url' => 'news.php'],
  3. ["id" => 2, 'name' => '产品', 'url' => 'contact.php'],
  4. );
  5. var_dump($arr);


1.6、class 对象

  1. class Car
  2. {
  3. public $name;
  4. private $team;
  5. public function __construct($team)
  6. {
  7. $this->team = $team;
  8. }
  9. public function play(){
  10. return $this->name . '正在' . $this->team . '秘密训练<br /><br />';
  11. }
  12. }
  13. $p = new Car('忽然队');
  14. $p->name = 'James';
  15. echo $p->play();


1.7、null

  1. // 赋值为空
  2. $x=null;
  3. $y= 1;
  4. // 当前变量没有赋值
  5. @var_dump($z);
  6. // 释放一个变量
  7. unset($y);
  8. var_dump($x);
  9. var_dump($y);


1.8、Resource

  1. $fp = fopen('demo.js', 'r');
  2. var_dump($fp);


二、常量

2.1、常量定义

  1. const APP_PATH = '/02PHP/20230302';
  2. echo APP_PATH . "<br /><br />";
  3. define('NATION', 'CHINA');
  4. echo NATION . "<br /><br />";
  5. printf('国籍:%s', NATION);


2.2、系统常量和魔术常量

  1. // 系统常量
  2. // 查看系统常量 get_defined_constants()
  3. echo '<pre>';
  4. //print_r(get_defined_constants(true));
  5. // 魔术常量
  6. echo __FILE__ . '<br /><br />'; //当前执行PHP脚本的完整路径盒文件名,绝对路径
  7. echo __DIR__; // 当前执行PHP脚本的完整路径


2.3、常量注意点:

  1. // 1. 类常量只能用const定义
  2. class User
  3. {
  4. const APP_PATH = '/02PHP/20230302';
  5. }
  6. echo '<br /><br />';
  7. echo '=========================' . '<br /><br />';
  8. // 2. 常量必须初始化赋值
  9. $height;
  10. const HEIGHT = '183cm';

三、变量作用域

3.1、局部变量

  1. function demo()
  2. {
  3. // 局部变量,只在函数内部访问有效
  4. $a = 100;
  5. $b = 200;
  6. echo ($a+$b);
  7. }
  8. demo();

3.2、全局变量

  1. // 全局变量,无法再函数内部直接调用
  2. $one = 100;
  3. $two = 200;
  4. define('NATION', 'CHINA');
  5. function demo2()
  6. {
  7. // 1. global
  8. global $one, $two;
  9. echo "计算结果:" . ($one+$two);
  10. echo '<br /><br /><br />';
  11. // 2. $GLOBALS超全局变量
  12. echo "运算结果:" . ($GLOBALS['one']+$GLOBALS['two']);
  13. echo '<br /><br /><br />';
  14. echo NATION; //说明常量不受作用域限制
  15. }
  16. demo2();


3.3、系统预定义变量

//! 系统预定义变量
// 超全局变量:数组,任何地方都可以访问,不受作用域限制
// $GLOBALS:引用全局作用域中可用的全部变量
// $_SERVER:服务器和执行环境信息
// $_GET :通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组
// $_POST:当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本
// $_FILES:通过 HTTP POST 方式上传到当前脚本的项目的数组
// $_COOKIE:通过 HTTP Cookies 方式传递给当前脚本的变量的数组
// $_SESSION:当前脚本可用 SESSION 变量的数组
// $_REQUEST:默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组
// $_ENV:通过环境方式传递给当前脚本的变量的数组


四、流程控制

4.1、单一条件分支解构 if

  1. if(1 == 1){
  2. echo 111;
  3. }


4.2、双向条件分支解构 if…else

  1. $age = 35;
  2. $gender = 'female';
  3. if ($age<=55 && $gender == 'female')
  4. {
  5. echo '离退休还有' . (55-$age) . '年';
  6. }else if($age > 55 && $gender == 'female'){
  7. echo '你猜猜';
  8. }


4.3、switch

  1. $date = date("w");
  2. switch ($date){
  3. case 1:
  4. echo '今天是工作日星期一';
  5. break;
  6. case 2:
  7. echo '今天是工作日星期二';
  8. break;
  9. case 3:
  10. echo '今天是工作日星期三';
  11. break;
  12. case 4:
  13. echo '今天是工作日星期四';
  14. break;
  15. case 5:
  16. echo '今天是工作日星期五';
  17. break;
  18. default:
  19. echo "今天休息!";
  20. }
  21. // break 退出当前循环
  22. // continue 跳过此次循环,进入下一轮循环

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