PHP:数据类型

PHP有8种主要数据类型,我们可以把它们想像成不同类型的"盒子",每种盒子装不同的东西。

4.1 字符串(String)

字符串就是一串文字,用引号包起来。

代码示例

<?php
// 双引号(可以解析变量)
$name = "小明";
echo "我的名字是$name";  // 输出:我的名字是小明

// 单引号(原样输出,性能更好)
echo '我的名字是$name';  // 输出:我的名字是$name

// 拼接字符串
$a = "Hello";
$b = "World";
echo $a . " " . $b;  // 输出:Hello World
?>

知识点

  • 单引号和双引号都可以
  • 双引号里的变量会被解析
  • 拼接字符串用.(点号)

4.2 整型(Integer)

整数就是没有小数点的数字。

代码示例

<?php
$x = 123;      // 十进制
$y = 0123;     // 八进制(0开头)
$z = 0x1A;     // 十六进制(0x开头)
$bin = 0b1111; // 二进制(0b开头,PHP 5.4+)

echo $x;  // 123
echo $y;  // 83
echo $z;  // 26
echo $bin; // 15
?>

4.3 浮点型(Float/Double)

浮点数就是带小数点的数字。

代码示例

<?php
$price = 19.99;
$pi = 3.1415926;
$scientific = 1.2e3;  // 科学计数法,等于1200

echo $price;
echo "<br>";
echo $pi;
?>

4.4 布尔型(Boolean)

布尔型只有两个值:真(true)或假(false)。

代码示例

<?php
$isStudent = true;
$isAdult = false;

if ($isStudent) {
    echo "我是学生";
}
?>

知识点

  • true 和 false 不区分大小写
  • 但习惯上写小写

4.5 数组(Array)

数组是一个大盒子,可以装多个值。

代码示例

<?php
// 索引数组(数字下标)
$fruits = ["苹果", "香蕉", "橙子"];
echo $fruits[0];  // 输出:苹果

// 关联数组(键值对)
$user = [
    "name" => "小明",
    "age" => 18,
    "city" => "北京"
];
echo $user["name"];  // 输出:小明

// 多维数组
$matrix = [
    [1, 2, 3],
    [4, 5, 6]
];
echo $matrix[0][1];  // 输出:2
?>

4.6 对象(Object)

对象是比较复杂的类型,我们后面专门讲。

<?php
class Person {
    public $name = "小明";
}

$person = new Person();
echo $person->name;
?>

4.7 NULL

NULL表示"没有值"、“空”。

<?php
$x = null;
var_dump($x);  // 输出:NULL
?>

4.8 查看数据类型

代码示例

<?php
$a = "Hello";
$b = 123;
$c = 3.14;
$d = true;
$e = null;
$f = ["a", "b"];

echo "<pre>";
var_dump($a);  // 查看类型和值
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
echo "</pre>";

// 也可以用 gettype()
echo gettype($a);  // 输出:string
?>

4.9 类型转换

PHP是弱类型语言,会自动转换,但我们也可以手动转换。

代码示例

<?php
$str = "123";
$num = (int)$str;  // 转成整型
var_dump($num);

$num2 = 456;
$str2 = (string)$num2;  // 转成字符串
var_dump($str2);

$bool = (bool)1;  // 转成布尔值,true
var_dump($bool);
?>

本章代码汇总

文件位置:examples/04-datatypes.php

<?php
// 第4章完整示例

echo "<h3>1. 字符串</h3>";
$name = "小明";
echo "双引号:我的名字是$name<br>";
echo '单引号:我的名字是$name<br>';

echo "<h3>2. 整型和浮点型</h3>";
$age = 18;
$price = 99.99;
echo "年龄:$age,价格:$price<br>";

echo "<h3>3. 布尔型</h3>";
$isStudent = true;
if ($isStudent) {
    echo "是学生<br>";
}

echo "<h3>4. 数组</h3>";
$fruits = ["苹果", "香蕉", "橙子"];
echo "第一个水果:" . $fruits[0] . "<br>";

echo "<h3>5. var_dump查看类型</h3>";
echo "<pre>";
var_dump($name);
var_dump($age);
var_dump($price);
echo "</pre>";
?>

本章小结

✅ 认识了8种数据类型
✅ 会用var_dump查看类型
✅ 知道单引号和双引号的区别
✅ 会简单的类型转换

更多推荐