数据类型

PHP 的 数据类型

String(字符串), Integer(整型), Float(浮点型), Boolean(布尔型), Array(数组), Object(对象), NULL(空值)。

php的字符串

单引号:直接用单引号引起来,所有内容都不会被解析。

双引号:直接用双引号引起来,包含的变量会被解析。

Heredoc结构

<<< 操作符:操作符后连接标识符(开始标识符)和换行符,标识符可以自定义,一般为EOD、EOF、EOT 等。

输入要引用的字符串,字符串可以正常解析变量,但不能解析函数。

最后下新的一行顶格写标识符(结束标识符),并连接分号结束,这一行里不允许有其他内容。

注意:新的一行,顶格写,且后面不允许有其他内容

Nowdoc结构

结构与Heredoc结构类似,但其不同的是,Nowdoc结构类似于单引号引起来的字符串,所以Nowdoc结构中的所有内容都不进行解析,通常用于嵌入php代码或者其他大段包含很多特殊字符串的文本,在Nowdoc中这些内容都不需要转义,他的使用方法和 Heredoc结构也很类似,唯一不同的是开始标识符需要使用单引号引起来。

和 heredoc 的区别是开始标识符需要用时单引号引起来,且内容不会被解析

php的转义字符

PHP的整形

<?php
$a = 1234; // 十进制数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)
$a = 1_234_567; // 整型数值 (PHP 7.4.0 以后)
?>

来自官方文档

PHP的复合数据类型

复合数据类型可以用于将多个相同类型的项聚集起来,表示为一个实体。这包括数据(arrary)和对象(object)

//  php定义数据的方法  
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

php 特殊类型

NULL: 空值,表示变量没有数值,是一种特殊的值

resource: 资源,也叫作句柄,是一种特殊的变量,能够保存一个到外部资源的引用,通常用专门的函数来定义和使用。

fileopen函数返回资源类型

php 数据类型检测

  • isset()://变量是否已经声明 
  • empty()://变量是否为空 
  • defined()://常量是否已经定义 define() 
  • array_key_exists(mixed key, array search)://检查给定的键名或索引是否存在于数组中
  • is_numeric ( mixed var )://检测变量是 否为数字或数字字符串 
  • is_bool():// 检测变量是否是布尔型 
  • is_float():// 检测变量是否是浮点型 和is_double,is_real()都一样的用法 
  • is_int(): // 检测变量是否是整数is_integer() 一样的 用法 
  • is_string():// 检测变量是否是字符串 
  • is_object():// 检测变量是否是一个对象 
  • is_array():// 检测变量是否是数组 
  • is_null():// 检测变量是否为 NULL 值是否是NULL大小写敏感
  • var_dump()://直接打印数据类型[常用]
函数名作用返回值
is_array(mixed $var)判断变量是否为数组如果参数 $var 为数组则返回 TRUE,否则返回 FALSE
is_bool(mixed $var) 判断变量是否为布尔类型如果参数 $var 为布尔类型的值则返回 TRUE,否则返回 FALSE
is_float(mixed $var) 判断变量是否为浮点数如果参数 $var 为浮点数则返回 TRUE,否则返回 FALSE
is_int(mixed $var)判断变量是否为整数类型如果参数 $var 为整数类型则返回 TRUE,否则返回 FALSE
is_null(mixed $var)判断变量是否为 NULL 如果参数 $var 未被定义,或者被设置为 NULL 则返回 TRUE,否则返回 FALSE
is_numeric(mixed $var)判断变量是否为数字或者数字字符串如果参数 $var 为数字或者数字字符串则返回 TRUE,否则返回 FALSE
is_object(mixed $var)判断变量是否为一个对象如果参数 $var 为一个对象则返回 TRUE,否则返回 FALSE
is_scalar(mixed $var)判断变量是否为一个标量(标量即最小的变量单位,只包括
integer、float、string 或 bool 类型的变量,而 array、
object 和 resource 则不是标量)
如果参数 $var 为标量则返回 TRUE,否则返回 FALSE
is_string(mixed $var) 判断变量是否为字符串如果参数 $var 为字符串则返回 TRUE,否则返回 FALSE
isset(mixed $var) 判断变量是否已经定义如果参数 $var 已经存在则返回 TRUE,否则返回 FALSE。
注意:被设置为 NULL 的变量在使用 isset() 时将返回 FALSE

PHP 类型转换

第一种方式:允许的强制转换有:

  • (int),(integer)            – 转换成整型
  • (bool),(boolean)           – 转换成布尔型
  • (float),(double),(real)    – 转换成浮点型
  • (string)                  – 转换成字符串
  • (array)                    – 转换成数组
  • (object)                   – 转换成对象

第二种转换方式:  intval()  floatval()  strval()

<?php   
$str="123.9abc";   
$int=intval($str);     //转换后数值:123   
$float=floatval($str); //转换后数值:123.9   
$str=strval($float);   //转换后字符串:"123.9"    
?>  

第三种方式:还可以用settype ( mixed var, string type )进行强制转换.

<?php   
$num4=12.8;   
$flg=settype($num4,"int");   
var_dump($flg);  //输出bool(true)   
var_dump($num4); //输出int(12)   
?>

非0=真

0=假

类似文章