数据类型定义了变量可以存储的数据类型。PHP允许八种不同的数据类型。以下是所有这些类型的讨论。有预定义的、用户定义的和特殊的数据类型。
预定义的数据类型包括:
用户定义的(复合)数据类型包括:
特殊的数据类型包括:
前五种被称为简单数据类型,而最后三种是复合数据类型:
整数:整数仅包含整数,包括正数和负数,即没有小数部分或小数点的数字。它们可以是十进制(基数10)、八进制(基数8)或十六进制(基数16)。默认基数是十进制(基数10)。八进制整数可以使用前导0来声明,十六进制可以使用前导0x来声明。整数的范围必须在-2^31到2^31之间。
示例:
<?php
// decimal base integers
$deci1 = 50;
$deci2 = 654;
// octal base integers
$octal1 = 07;
// hexadecimal base integers
$octal = 0x45;
$sum = $deci1 + $deci2;
echo $sum;
echo "\n\n";
//returns data type and value
var_dump($sum)
?>
输出:
704
int(704)
双精度浮点数:可以包含包括正数和负数在内的带有小数或小数部分的数字,或以指数形式表示的数字。默认情况下,变量会添加最少数量的小数位。双精度浮点数数据类型与浮点数或实数相同。
示例:
<?php
$val1 = 50.85;
$val2 = 654.26;
$sum = $val1 + $val2;
echo $sum;
echo "\n\n";
//returns data type and value
var_dump($sum)
?>
output:
705.11
float(705.11)
字符串:包含字母或任何字母表,甚至包括数字。在声明时用双引号括起来。字符串也可以用单引号括起来,但在打印变量时它们会被不同对待。为了阐明这一点,请看下面的示例。
示例
<?php
$name = "Krishna";
echo "The name of the Geek is $name \n";
echo 'The name of the geek is $name ';
echo "\n\n";
//returns data type, size and value
var_dump($name)
?>
output:
The name of the Geek is Krishna
The name of the geek is $name
string(7) "Krishna"
布尔类型:布尔数据类型用于条件测试。只能保存两个值,要么是TRUE(1),要么是FALSE(0)。成功的事件将返回true,不成功的事件将返回false。在布尔类型中,NULL类型的值也被视为false。除了NULL,0在布尔类型中也被视为false。如果一个字符串是空的,那么在布尔数据类型中它也被视为false。
示例:
<?php
if(TRUE)
echo "This condition is TRUE";
if(FALSE)
echo "This condition is not TRUE";
?>
output:
This condition is TRUE
数组:数组是一种复合数据类型,可以存储多个相同数据类型的值。下面是一个整数数组的示例。它组合了一系列相关的数据。
<?php
$intArray = array( 10, 20 , 30);
echo "First Element: $intArray[0]\n";
echo "Second Element: $intArray[1]\n";
echo "Third Element: $intArray[2]\n\n";
//returns data type and value
var_dump($intArray);
?>
output:
First Element: 10
Second Element: 20
Third Element: 30
array(3) {
[0]=>
int(10)
[1]=>
int(20)
[2]=>
int(30)
}
对象:对象被定义为用户自定义类的实例,可以同时包含值、函数和特定于类的数据处理信息。这是一个高级主题,将在后续的文章中详细讨论。当创建对象时,它们会从类继承所有的属性和行为,但属性的值可能不同。
对象是通过使用new关键字显式声明和创建的。
<?php
class gfg {
var $message;
function gfg($message) {
$this->message = $message;
}
function msg() {
return "This is an example of " . $this->message . "!";
}
}
// instantiating a object
$newObj = new gfg("Object Data Type");
echo $newObj -> msg();
?>
output:
This is an example of Object Data Type!
NULL:这些是特殊类型的变量,只能保存一个值,即NULL。我们遵循将其以大写形式写入的约定,但它是区分大小写的。如果一个变量被创建而没有值,或者没有赋值,它会自动被赋值为NULL。它以大写字母写入。
<?php
$nm = NULL;
echo $nm; // this will return no output
// return data type
var_dump($nm);
?>
output:
NULL
资源:在PHP中,资源不是精确的数据类型。它们基本上用于存储对某个函数调用或外部PHP资源的引用。例如,考虑一个数据库调用。这是一个外部资源。资源变量保存文件和数据库连接的特殊句柄。
我们将在后续的小节中详细讨论资源。