作为一种解释型语言,PHP 不需要声明数据类型。在 PHP 中,数据类型用于定义分配给变量的值的类型。分配给变量的内存是基于数据类型的。PHP 函数 var_dump() 用于返回变量的数据类型和值。PHP 中有八种基本数据类型,它们进一步分为三个类别。

标量类型是包含单个值的预定义数据类型。有四种标量数据类型,包括
字符串数据类型是字母数字字符的序列。基本上它是一种非数字数据类型。字符串可以是字母、单词、数字和特殊字符。字符串值将用单引号(' ')或双引号(" ")括起来。在将字符串赋值给变量时,它们被认为是相同的,但在某些情况下有所不同。
我们可以通过示例来了解区别
<?php
$welcome = “Welcome to PHP tutorial”;
$intro = ‘Where we learn to code in PHP’;
echo “$welcome !. $intro”;
?>
输出
Welcome to PHP tutorial !. Where we learn to code in PHP
<?php
$welcome = “Welcome to PHP tutorial”;
$intro = ‘Where we learn to code in PHP’;
echo ‘$welcome !. $intro’;
?>
输出
$welcome !. $intro
在上面的示例中,我们可以看到我们已将字符串分别赋值给变量,并使用了单引号和双引号,它们都被同等对待。在第一个示例中,使用双引号打印变量时,它打印了变量的值;但在第二个示例中,我们使用单引号打印变量时,它打印了单引号内的内容,而不是变量的值。这是单引号和双引号之间的唯一区别。
整型数据类型是数值数据类型;它是一个整数。它可以是正数或负数。由于它是一个整数,它不能有小数部分或小数点。整数可以是十进制(基数为 10)、八进制(基数为 8)或十六进制(基数为 16),十进制是默认值。PHP 中不需要为整数声明。
<?php
$age = 23;
$sum = 10 + 5;
echo $age;
echo “\n”;
echo $sum;
?>
输出
23 15
为了区分 PHP 中的十进制、八进制和十六进制,我们对八进制使用前导 0,对十六进制使用前导 0x。
例如,
<?php
$decimal = 10;
$octal = 015;
$hexadecimal = 0x22;
echo "Decimal: $decimal \n";
echo "Octal: $octal \n";
echo "Hexadecimal: $hexadecimal \n";
?>
输出
Decimal: 10 Octal: 13 Hexadecimal: 34
浮点型数据类型也称为双精度数据类型;它包含分数或带小数点的数字。它也可以是负数或正数。它至少需要一个小数点才能成为浮点型数据类型。在 PHP 中,将浮点数与整数相加没有问题。
<?php
$num1 = 26.754;
$num2 = 15.6;
$sum = $num1 + $num2;
echo "Sum = $sum \n";
$n1 = 16.589;
$n2 = 15;
$sum2 = $n1 + $n2;
echo "Sum = $sum2";
?>
输出
Sum = 42.354 Sum = 31.589
布尔型数据类型只有两个值 TRUE(1)或 FALSE(0)。它是最简单的数据类型。它主要用于条件语句。
示例
<?php
// TRUE case
$t = TRUE;
if($t){
echo "This is TRUE statement";
}
else{
echo "This is FALSE statement";
}
echo "\n";
// FALSE case
$f = FALSE;
if($f){
echo "This is TRUE statement";
}
else{
echo "This is FALSE statement";
}
?>
输出
This is TRUE statement This is FALSE statement
在上面的示例中,变量“t”的值为 TRUE,然后在 if 条件中,所以 if 块被执行,变量“f”的值为 FALSE,然后在 if 条件中,所以 else 块被执行。
复合类型是用户定义的数据类型。复合数据类型可以包含多个值。有两种复合数据类型:
数组是 PHP 的复合数据类型之一。数组可以在单个变量中存储多个相同的值。PHP 中有三种类型的数组:数字数组、关联数组和多维数组。我们将在接下来的模块中了解更多关于数组的内容。
示例
<?php
$programing_languages = array("PHP", "Python", "Java", "C++");
echo $programing_languages[0];
?>
输出
PHP
对象和类是面向对象编程最重要的方面。类是对象的模板,对象是类的实例。对象也用于存储多个值。我们将在接下来的模块中了解更多关于对象的内容。
示例
<?php
class Tutorial {
function welcome($name) {
echo "Hi! $name welcome to PHP Tutorial.";
}
}
$obj = new Tutorial();
$obj -> welcome("John");
?>
输出
Hi! John welcome to PHP Tutorial.
特殊数据类型包含特殊值。有两种特殊数据类型:
NULL 是一种特殊数据类型。NULL 数据类型只包含一个值,即“NULL”。在 PHP 中,NULL 数据类型用于给变量赋空值。它也用于清空变量。分配 NULL 的约定方式是大写字母,但实际上 NULL 不区分大小写。
<?php
$x = NULL;
echo $x;
?>
对于上面的示例,输出将是空白的,因为变量‘x’没有值。为了正确看到数据类型已分配,我们应该使用 var_dump() 函数。
<?php
$x = "hello";
var_dump($x);
$x = NULL;
var_dump($x);
?>
输出
string(5) “hello” NULL
资源数据类型是一种特殊数据类型。在 PHP 中,资源数据类型并不是实际的数据类型。资源数据类型主要用于存储外部资源。通常是数据库调用。在 PHP 中,get_resource_type() 是用于返回变量资源类型的预定义函数。
<?php
$file_open = fopen("test.txt","w");
var_dump($fp);
?>
输出
resource(5) of type (stream)
<?php
$file_open = fopen("test.txt","w");
echo get_resource_type($file_open);
?>
输出
stream
在给出的示例中,我们使用了 fopen 函数来打开或创建系统中的文件。我们将在接下来的模块中了解更多关于资源的内容。