当前位置:首页>php>第2篇:PHP变量、数据类型与常量

第2篇:PHP变量、数据类型与常量

  • 2026-09-02 19:25:23
第2篇:PHP变量、数据类型与常量

PHP变量、数据类型与常量

上一篇文章我们写出了第一个PHP程序,接触到了变量和字符串的概念。这篇文章会深入讲解PHP中的变量、数据类型和常量,这些是编程中最基础也最重要的概念。

一、变量基础

变量,你可以把它想象成一个有名字的储物盒。我们在盒子上贴个标签(变量名),然后往里面放东西(值)。

<?php$student_name = "张三";   // 字符串变量$student_age = 20;        // 整型变量$student_height = 1.75;   // 浮点型变量(带小数点的数字)$is_enrolled = true;     // 布尔型变量(只有真或假)echo"学生信息:\n";echo"姓名:" . $student_name . "\n";echo"年龄:" . $student_age . "\n";echo"身高:" . $student_height . "米\n";echo"已入学:" . ($is_enrolled ? "是" : "否");?>

代码讲解:

  • $student_name = "张三":等号是赋值运算符,意思是把右边的值赋给左边的变量
  • PHP是弱类型语言,不需要声明变量类型,PHP会自动判断
  • true和false是布尔型的两个值,表示"真"和"假"
  • ($is_enrolled ? "是" : "否")是三元运算符,如果$is_enrolled为真,返回"是",否则返回"否"

输出结果:

学生信息:姓名:张三年龄:20身高:1.75米已入学:是

二、PHP中的数据类型

PHP有8种基本数据类型:

1. 整型(Integer)

<?php$year = 2024;$population = 1400000000;$temperature = -5;echo"今年是" . $year . "年\n";echo"中国人口约" . $population . "人\n";echo"当前温度" . $temperature . "度";?>

整型就是整数,可以是正数、负数或零。PHP中的整型没有大小限制(受服务器内存限制)。

2. 浮点型(Float)

<?php$price = 19.99;        // 价格$pi = 3.14159;         // 圆周率$weight = 65.5;        // 体重(公斤)echo"商品价格:¥" . $price . "\n";echo"圆周率约等于:" . $pi . "\n";echo"体重:" . $weight . "公斤";?>

浮点型就是带小数点的数字,也叫浮点数或双精度数。注意:浮点数比较时不要用==,因为精度问题可能会有误差。

3. 字符串(String)

<?php$greeting = "你好";$name = "小红";$message = "{$greeting},{$name}!";  // 双引号内可以直接使用变量echo$message . "\n";// 字符串函数echo"字符串长度:" . strlen($name) . "\n";  // strlen 计算字符数echo"姓名字符数:" . mb_strlen($name) . "\n";  // mb_strlen 支持中文?>

代码讲解:

  • 双引号中的{$variable}可以直接插入变量,更方便阅读
  • strlen()函数计算字符串长度,但中文可能乱码
  • mb_strlen()是处理中文的正确方式

4. 布尔型(Boolean)

<?php$is_student = true;$is_teacher = false;if ($is_student) {echo"我是一名学生\n";}if (!$is_teacher) {  // ! 表示"不是"echo"我不是老师";}?>

布尔型只有两个值:true(真)和false(假)。在条件判断中非常有用。

5. 数组(Array)

<?php// 索引数组$fruits = array("苹果", "香蕉", "橙子", "葡萄");// PHP 5.4+ 可以用简写$fruits = ["苹果", "香蕉", "橙子", "葡萄"];echo"第一种水果:" . $fruits[0] . "\n";  // 数组索引从0开始echo"第二种水果:" . $fruits[1] . "\n";// 关联数组(类似字典)$student = ["name" => "李四","age" => 21,"major" => "计算机"];echo"学生姓名:" . $student["name"] . "\n";echo"学生专业:" . $student["major"];?>

代码讲解:

  • 数组可以存储多个值,就像一排连续的储物盒
  • $fruits[0]访问第一个元素,因为索引从0开始
  • 关联数组用字符串作为键,更语义化

6. 对象(Object)

<?phpclassStudent{public$name;public$age;functionintroduce() {echo"我叫" . $this->name . ",今年" . $this->age . "岁";    }}$student = newStudent();  // 创建对象$student->name = "王五";    // 给对象属性赋值$student->age = 19;$student->introduce();      // 调用对象方法?>

对象是面向对象编程的基础,我们会在最后一篇文章详细讲解。

7. NULL空值

<?php$empty_variable = NULL;  // NULL 表示"空",即没有值if ($empty_variable === NULL) {  // === 表示"完全等于"echo"这个变量是空的";}?>

NULL表示变量没有值。注意要用===来判断NULL,因为0 == NULL返回true,但0 === NULL返回false。

三、常量

常量是不变的量,一旦定义就不能修改。

<?php// 定义常量define("SCHOOL_NAME", "清华大学");  // 学校名称define("MAX_STUDENTS", 1000);       // 最大学生数constPI = 3.14159;                  // 圆周率(另一种定义方式)echo"学校名称:" . SCHOOL_NAME . "\n";echo"最大学生数:" . MAX_STUDENTS . "\n";echo"圆周率:" . PI . "\n";// 预定义常量echo"当前PHP版本:" . PHP_VERSION . "\n";echo"操作系统:" . PHP_OS;?>

代码讲解:

  • define()和const都可以定义常量
  • 常量名习惯用大写字母表示
  • 常量不需要$符号,直接使用名字
  • PHP内置了很多预定义常量,如PHP_VERSION返回当前PHP版本

四、类型转换

<?php$num_str = "123";        // 字符串$num_int = (int)$num_str; // 转换为整型echo"字符串转整型:" . $num_int . "\n";$price = 19.99;$price_int = (int)$price;  // 浮点转整型,小数部分会被丢弃echo"浮点转整型:" . $price_int . "\n";$bool = true;$bool_str = (string)$bool;echo"布尔转字符串:" . $bool_str . "\n";  // true 变成 "1"?>

五、写在最后

这篇文章介绍了PHP的变量和数据类型。记住:变量是编程的基石,选择合适的数据类型能让代码更清晰、更高效。下篇文章我们会学习运算符和条件控制语句。

最新文章

随机文章