PHP教程/ 3: 数据类型

时间:2022-10-19 16:36:28

字符串、整数、浮点数、逻辑、数组、对象、NULL。

PHP 字符串

字符串是字符序列,比如 "Hello world!"。

字符串可以是引号内的任何文本。您可以使用单引号或双引号:

实例

<?php 
$x = "Hello world!";
echo $x;        //输出Hello world!
echo "\n"; 
$x = 'liuxiaomeng!\n';    
echo $x;    //输出liuxiaomeng!
?>


PHP 整数

整数是没有小数的数字。

整数规则:

  • 整数必须有至少一个数字(0-9)
  • 整数不能包含逗号或空格
  • 整数不能有小数点
  • 整数正负均可
  • 可以用三种格式规定整数:十进制、十六进制(前缀是 0x)或八进制(前缀是 0)

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

<?php
$x=59;
var_dump($x);         // int(59)
$x=-59;
var_dump($x);     //int(-59)

$x=45849584958945045834058340583409583405983405;    
var_dump($x);      //float(4.5849584958945E+43)

$x=0x59;
var_dump($x);     //int(89)

$x=055;
var_dump($x);     //int(45)
?>

 


 

PHP 浮点数

 

浮点数是有小数点或指数形式的数字。

 

在下面的例子中,我们将测试不同的数字。PHP var_dump() 会返回变量的数据类型和值:

<?php

$x=10.356;
var_dump($x);    //float(10.356)

$x=2.4e3;
var_dump($x);    //float(2400) 

$x=8E-5;
var_dump($x);    //float(8.0E-5)

?>


PHP 逻辑

逻辑是 true 或 false。

$x=true;
$y=false;

逻辑常用于条件测试。


PHP 数组

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

在下面的例子中,我们将测试不同的数组。PHP var_dump() 会返回变量的数据类型和值:

 

<?php

$name=array("liu","xiao","meng");
echo "{$name[0]}";
echo "{$name[1]},{name[2]}\n";           //输出liuxiaomeng     输出数组中的元素

var_dump($name);
?>


PHP 对象

对象是存储数据和有关如何处理数据的信息的数据类型。

在 PHP 中,必须明确地声明对象。

首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。

然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:

 

<?php
//声明类Car
class Car
{
  var $color;
  function Car($color="green")
  {
    $this->color=$color;
  }
  function what_color()
  {
    return $this->color;
  }
}

 

//定义一个函数
function print_color($obj)
{
  foreach (get_object_vars($obj) as $prop1 => $val1)
  {
    echo "$prop1 = $val1\n";
  }
}

//定义一个对象
$my_car = new Car("white");
print_color($my_car);
?>

//输出

color = white


 

PHP NULL 值

特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。

NULL 值标示变量是否为空。也用于区分空字符串与空值数据库。

可以通过把值设置为 NULL,将变量清空:

<?php
$x="Hello world!";    //输出Hello world
$x=null;
var_dump($x);       //输出NULL   (如果使用echo $x,结果是什么也没有)
?>

PHP 逻辑运算符

运算符 名称 例子 结果
and $x and $y 如果 $x 和 $y 都为 true,则返回 true。
or $x or $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
xor 异或 $x xor $y 如果 $x 和 $y 有且仅有一个为 true,则返回 true。
&& $x && $y 如果 $x 和 $y 都为 true,则返回 true。
|| $x || $y 如果 $x 和 $y 至少有一个为 true,则返回 true。
! !$x 如果 $x 不为 true,则返回 true。

 


 

 

PHP 数组运算符

PHP 数组运算符用于比较数组:

运算符 名称 例子 结果
+ 联合 $x + $y $x 和 $y 的联合(但不覆盖重复的键)
== 相等 $x == $y 如果 $x 和 $y 拥有相同的键/值对,则返回 true。
=== 全等 $x === $y 如果 $x 和 $y 拥有相同的键/值对,且顺序相同类型相同,则返回 true。
!= 不相等 $x != $y 如果 $x 不等于 $y,则返回 true。
<> 不相等 $x <> $y 如果 $x 不等于 $y,则返回 true。
!== 不全等 $x !== $y 如果 $x 与 $y 完全不同,则返回 true。

下例展示了使用不同数组运算符的不同结果:

实例

<?php
$x = array("a" => "red", "b" => "green"); 
$y = array("c" => "blue", "d" => "yellow"); 
$z = $x + $y; // $x 与 $y 的联合
var_dump($z);    
echo "\n";
var_dump($x == $y);
echo "\n";
var_dump($x === $y);
echo "\n";
var_dump($x != $y);
echo "\n";
var_dump($x <> $y);
echo "\n";
var_dump($x !== $y);
?>   
输出
array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" } 
bool(false) 
bool(false) 
bool(true) 
bool(true) 
bool(true)