zzy
04-PHP数据类型

04-PHP数据类型

数据类型

  • String(字符串)
  • Interger(整型)(数字型)
  • Float(浮点型)(数字型)
  • Boolean(布尔型)
  • Array(数组)
  • Object(对象)
  • NULL(空值)(””,0,NULL)
  • Resource(资源类型)

1/8 PHP 字符串

将任何文本放在单引号和双引号中.

1
2
3
4
<?php
$x = "Hello world!";
var_dump($x);
?>

2/8 PHP 整型

  • 整数必须至少有一个数字 (0-9)
  • 整数不能包含逗号或空格
  • 整数是没有小数点的
  • 整数可以是正数或负数
  • 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)
1
2
3
4
<?php
$x = 123123123;
var_dump($x);
?>

不同数字

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
?>

3/8 PHP 浮点型

带小数部分的数字,或是指数形式

1
2
3
4
5
6
7
8
9
10
<?php 
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>

4/8 PHP 布尔型

TRUE 或 FALSE,通常用于条件判断.

1
2
3
4
5
<?php
$x=true;
$y=false;
var_dump($x,$y);
?>

5/8 PHP 数组

数组可以在一个变量中存储多个值

1
2
3
4
<?php 
$nums=array("1","2","3");
var_dump($nums);
?>

6/8 PHP 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明.

首先,必须使用class关键字声明类对象.类是可以包含属性和方法的结构.

然后我们在类中定义数据类型,然后在实例化的类中使用数据类型.

1
2
3
4
5
6
7
8
9
10
<?php
class Car(){
function what_color($color) {
return $color;
}
}

$color = new Car();// 创建新的对象
echo $color->what_color("red");// 调用 类似color.whatcolor()
?>

7/8 PHP NULL 值

NULL 值表示变量没有值.NULL 是数据类型为 NULL 的值.

NULL 值指明一个变量是否为空值. 同样可用于数据空值和NULL值的区别.

可以通过设置变量值为 NULL 来清空变量数据:

1
2
3
4
5
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>

8/8 PHP 资源类型

PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。

常见资源数据类型有打开文件、数据库连接、图形画布区域等。

由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。

使用 get_resource_type() 函数可以返回资源(resource)类型:

1
2
3
<?php
get_resource_type(resource $handle): string
?>

此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$c = mysql_connect();
echo get_resource_type($c)."\n";
// 打印:mysql link

$fp = fopen("foo","w");
echo get_resource_type($fp)."\n";
// 打印:file

$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."\n";
// 打印:doent
?>

PHP 类型比较

PHP 是弱类型语言,但也需要明白变量类型及它们的意义.

  • 松散比较:使用两个等号 == 比较,只比较值,不比较类型.
  • 严格比较:用三个等号 === 比较,除了比较值,也比较类型.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
header("content-type:text/html;charset=utf-8"); //保持中文不乱码
if(42 == "42") {
echo '1、值相等';
}

echo PHP_EOL; // 换行符

if(42 === "42") {
echo '2、类型相等';
}
else {
echo '3、类型不相等';
}
/*
以上实例输出结果为:
1、值相等 3、类型不相等
*/
?>

比较 0、false、null

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
echo '0 == false: ';
var_dump(0 == false);
echo '0 === false: ';
var_dump(0 === false);
echo "</br>";
echo '0 == null: ';
var_dump(0 == null);
echo '0 === null: ';
var_dump(0 === null);
echo "</br>";
echo 'false == null: ';
var_dump(false == null);
echo 'false === null: ';
var_dump(false === null);
echo "</br>";
echo '"0" == false: ';
var_dump("0" == false);
echo '"0" === false: ';
var_dump("0" === false);
echo "</br>";
echo '"0" == null: ';
var_dump("0" == null);
echo '"0" === null: ';
var_dump("0" === null);
echo "</br>";
echo '"" == false: ';
var_dump("" == false);
echo '"" === false: ';
var_dump("" === false);
echo "</br>";
echo '"" == null: ';
var_dump("" == null);
echo '"" === null: ';
var_dump("" === null);
?>

输出:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0 == false: bool(true)
0 === false: bool(false)

0 == null: bool(true)
0 === null: bool(false)

false == null: bool(true)
false === null: bool(false)

"0" == false: bool(true)
"0" === false: bool(false)

"0" == null: bool(false)
"0" === null: bool(false)

"" == false: bool(true)
"" === false: bool(false)

"" == null: bool(true)
"" === null: bool(false)

参考图片

本文作者:zzy
本文链接:http://周梓煜.com/2024/01/16/php-04-数据类型/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可