-
Notifications
You must be signed in to change notification settings - Fork 0
PHP 数据类型
wenbobao edited this page Nov 23, 2017
·
2 revisions
PHP由以下几种数据类型:
- 字符串
- 整数
- 浮点数
- 逻辑
- 数组
- 对象
- NULL
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
<?php
// 10进制声明:
$zhengshu = 1000;
echo $zhengshu;
// 8进制声明:以0开始,后面跟0-7的整数
$bajingzhi = 033145;
echo $bajingzhi;
// 16进制声明:以0x开始
$shiliu = 0x6ff;
echo $shiliu;
?>
浮点数是有小数点或指数形式的数字。
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
var_dump()
是一个函数。向括号()中间插入变量。这个函数,会打印出来数据类型和值
<?php
//声明一个变量(拼音)为布尔
$buer = true;
//导明一个变量(英文)
$bool = false;
?>
数组在一个变量中存储多个值
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
对象是存储数据和有关如何处理数据的信息的数据类型。 在 PHP 中,必须明确地声明对象。 首先我们必须声明对象的类。对此,我们使用 class 关键词。类是包含属性和方法的结构。 然后我们在对象类中定义数据类型,然后在该类的实例中使用此数据类型:
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
?>
特殊的 NULL 值表示变量无值。NULL 是数据类型 NULL 唯一可能的值。
以下3种情况会产生null类型:
- 通过变量赋值明确指定为变量的值为NULL
- 一个变量没有给任何值
- 使用函数unset()将变量销毁掉
<?php
//声明变量为null
$n = null;
var_dump($n);
//var_dump显示输出变量$meiyou,看看结果是什么?
var_dump($meiyou);
//声明一个变量$iphone的值为字符串的手机
$iphone = '手机';
//unset销毁掉一个变量
unset($iphone);
var_dump($iphone);
?>
empty()
可以向括号中间传入一个变量。这个变量的值如果为false或者为null的话,返回true。
<?php
$apple = null;
if(empty($apple)){
echo '执行了真区间,凤姐,我爱你';
}else{
echo '执行了假区间,你想凤姐了';
}
?>
isset()
可以向括号中间传入一个或者多个变量,变量与变量间用逗号分开。只要有一个变量为null,则返回false。否则,则返回true。
<?php
$one = 10;
$two = false;
$three = 0;
$four = null;
$result = isset($one , $two , $three , $four);
//执行看看结果,是不是
var_dump($result);
?>
- gettype(传入一个变量) 能够获得变量的类型
- var_dump(传入一个变量) 输出变类型和值
<?php
//声明一个变量88.8,你可以自己多做几次实验换成其他类型看看$type输出是多少
$float = 88.8;
$type = gettype($float);
echo $type;
?>
<?php
//多换几个类型试试
$str = '你喜欢尊上还是喜欢杀仟陌?';
var_dump($str);
?>
我们使用is_* 系列函数。 is_types这一系列的函数,来进行判断某个东西是不是某个类型。如果是这个类型返回真,不是这个类型返回假。
- is_int 是否为整型
- is_bool 是否为布尔
- is_float 是否是浮点
- is_string 是否是字符串
- is_array 是否是数组
- is_object 是否是对象
- is_null 是否为空
- is_resource 是否为资源
- is_scalar 是否为标量
- is_numeric 是否为数值类型
- is_callable 是否为函数
- 整型的0为假,其他整型值全为真
- 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
- 空字符串为假,只要里面有一个空格都算真。
- 字符串的0,也将其看作是假。其他的都为真
- 空数组也将其视为假,只要里面有一个值,就为真。
- 空也为假
- 未声明成功的资源也为假
<?php
//布尔变整型参与运算
$fo = true;
$result = $fo + 10;
//$result 结果为整型的11,因为$fo布尔的true变为了1
//如果$fo的值为0
var_dump($result);
//字符串类型
$str = '419不要爱';
$result = $str + 1;
//结果为420。因为将$str变为了整型的419参与运算
//将419放在字符串中间和结尾试试
var_dump($result);
?>
总结:
- 布尔值的true参与运算是会变成整型或者浮点的1
- 布尔值的false参与运算是会变成整型或者浮点的0
- 字符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算
- 用后面的三个函数可以完成类型转换,intval()、floatval()、strval()
- 变量前加上()里面写上类型,将它转换后赋值给其他变量
- settype(变量,类型) 直接改变量本身
intval()、floatval()、strval()转换
<?php
$float = 1.23;
$result = intval($float);
//看看结果是不是变了?
var_dump($result);
//鸭脖子为整型的5
$yabozi = 5;
$re = floatval($yabozi);
var_dump($re);
//定义整型的变量
$yabozi = 23;
$bian = strval($yabozi);
//强制变成字符串试试
var_dump($bian);
?>
变量前加上()里面写上类型,将它转换后赋值给其他变量
<?php
//定义一个变量,我们来变化一下试试
$transfer = 12.8;
//把浮点变为整型
$jieguo = (int)$transfer;
var_dump($jieguo);
//把浮点变为布尔
$jieguo = (bool) $transfer;
var_dump($jieguo);
//把布尔变整型
$bool = true;
$jieguo = (int)$bool;
//把浮点变数组
$fo = 250;
$jieguo = (array)$fo;
var_dump($jieguo);
//其他的操作方式,按照文字总结的规律你来试试
?>
settype(变量,类型) 直接改变量本身
<?php
//定义浮点变为整型
$fo = 250.18;
//settype第二个参数是int,你实验的时候要记得第二个参数要为字符串类型
settype($fo,'int');
//输出看看结果
var_dump($fo);
?>