php入门教程之数值型数据类型详解,变量类型的强制转变

也正是说,借使把三个字符串值赋给变量 var,var
就成了一个字符串。假如又把二个整型值赋给 var,那它就成了八个整数。
PHP 中的类型强制调换和 C
中的非常像:在要调换的变量在此之前增加用括号括起来的靶子项目。

PHP 中的类型强制调换和 C
中的非常像:在要调换的变量以前拉长用括号括起来的靶子项目:

在PHP里,变量的体系是赋给它们的值决定的。若是赋的值是整型,那么变量正是整型,如果是字符串,正是字符串型。

语法

复制代码 代码如下:

 代码如下

 代码如下

要内定三个布尔值,使用首要字 TRUE 或 FALSE。八个都不区分轻重缓急写。

<?php
$foo = 10;
echo “转换前:\$foo=”.$foo; //输出多个子弹头
echo “<br/>” //输出:$foo=10
echo “<br/>”;
$foo = (boolean) $foo; //强制转换为布尔型
echo “转换后:\$foo=”.$foo; //输出:$foo=1
?>

<?php
$foo = 10;  // $foo 为整型
$bar = (boolean) $foo; // $bar 为布尔型
?>

<?php
 $name=”your name”;//name位string类型。
 $total=12;        //total为整型
?>

 代码如下

允许的强制调换有:
(int),(integer) – 调换来整型
(bool),(boolean) – 转变到布尔型
(float),(double),(real) – 转换到浮点型
(string) – 转变来字符串
(array) – 转变来数组
(object) – 转换来对象

类型调换 PHP
在变量定义中无需(或不援助)显明的类型定义;变量类型是根据使用该变量的上下文所决定的。也正是说,即使把一个字符串值赋给变量
var,var 就成了二个字符串。假使又把贰个整型值赋给
var,那它就成了二个整数。

PHP 协理各种原始类型(type)。

<?php
$foo = True; // 赋值 TRUE to $foo
?>

您或然感兴趣的篇章:

  • php去除换行符的艺术小结(PHP_EOL变量的利用)
  • PHP不用第三变量交流2个变量的值的缓慢解决办法
  • PHP
    变量定义和变量替换的诀要
  • PHP 替换模板变量完成步骤
  • php入门教程之数值型数据类型详解,变量类型的强制转变。php正则替换变量钦命字符的不二秘诀
  • PHP基础陷阱题(变量赋值)
  • php援用地址更动变量值的难点
  • 深深理解PHP变量的值类型和援用类型
  • PHP list()
    将数组中的值赋给变量的简便实例
  • PHP交流三个变量值的情势(不用第三变量)

PHP
的全自动类型转换的二个事例是加号“+”。借使别的一个操作数是浮点数,则兼具的操作数都被当成浮点数,结果也是浮点数。不然操作数会被演说为整数,结果也是整数。注意那并不曾变动这个操作数本人的花色;退换的仅是那几个操作数怎么着被求值以及表明式本人的体系。

多种标量类型:

一般性你用一点运算符再次回到 boolean 值,并将其传递给调整流程。

项目强制调换 PHP 中的类型强制转变和 C
中的非常像:在要转变的变量在此之前拉长用括号括起来的靶子项目:

string(字符串)
integer(整型)
float(浮点型,也作 double )
boolean(布尔型)
两种复合类型:

 代码如下

 代码如下

array(数组)
object(对象)
两种非常类型:

// == 真值判别语句
// equality and returns a boolean
if ($action == “show_version”) {
    echo “The version is 1.0”;
}

<?php
$foo = 10;  // $foo 为整型
$bar = (boolean) $foo; // $bar 为布尔型
?>

resource(资源)
NULL(空)
翻看变量类型
经过 gettype() 函数能够方便的查阅有个别变量的类型:

// 那样写不是必需的…
if ($show_separators == TRUE) {
    echo “<hr> “;
}

同意的勒迫转变有:

 代码如下

// 直接写,更简便些
if ($show_separators) {
    echo “<hr> “;

(int)或(integer) – 转换来整型
(bool)或(boolean) – 调换来布尔型
(float)或(double)或(real) – 调换来浮点型
(string) – 调换来字符串
(array) – 转变到数组
(object) – 调换到对象
除此以外,将五个变量还原为字符串,还能将变量放置在双引号中:

<?php
$var_bool = TRUE;     // a boolean
$var_str  = “foo”;     // a string
$var_int  = 12;      // an integer

布尔类型是PHP中 最简便易行的门类。它的值可感到 TRUE 或 FALSE。

数字换来字符转

echo gettype($var_bool);    // 输出 boolean
echo gettype($var_str);     // 输出 string
echo gettype($var_int);     // 输出 integer
?>

如:

 代码如下

提示
由于历史由来,借使是 float 类型数据,gettype() 函数重临的是
double,并不是 float 。
假如想查看有个别表达式的值和项目,请使用用 var_dump() 函数。
看清变量类型
假设想透过决断变量类型来规定下一步逻辑动作,不要使用 gettype() ,而采用is_type 体系函数:

 代码如下

<?php
$foo = 10; // $foo 为整型
$str = “$foo”; // $str 为字符串
?>

 代码如下

$foo=false;
$foo1=true;
echo “为假时输出值为:”.$foo; //未有输出值
echo “<br />为真时输出值为:”.$foo1; //输出1

在大家常用的字符串转变来整型有个超简单的点子

<?php
$var_int  = 12;

那边根本的内部原因:

 代码如下

// 如果 $var_int 是 int 类型,这实行加法
if (is_int($var_int)) {
    $var_int = $var_int+4;
}
echo $var_int;  // 输出 16
?>

当调换为 boolean 时,以下值被感到是 FALSE :

$str=www.111cn.net;
$int = intval($str);
这样$int=0;了哦。

 

1、the 布尔值 FALSE 自身
2、the 整型值 0 (零)
3、the 浮点型值 0.0 (零) 空 字符串, 以及 字符串 “0”
4、不蕴含别的因素的数组
5、不包蕴其余成员变量的对象(仅PHP 4.0 适用)
6、特殊类型 NULL (满含未有设定的变量)
7、从未有其他标识(tags)的XML文书档案生成的SimpleXML 对象

当三个字符串被作为数字来求值时,遵照以下准则来调控结果的品类和值:

integer数据类型

 代码如下

若是富含“.”,“e”或“E”在那之中任何贰个字符的话,字符串被看成 float
来求值,不然就被看作整数
该值由字符串最前面包车型客车有的决定。要是字符串以官方的数字数据发轫,就用该数字作为其值,不然其值为
0(零)。合法数字数据由可选的正负号初步,前面随着二个或三个数字(可选地包涵十进制分数),前边随着可选的指数。指数是二个“e”只怕“E”后边跟着一个或几个数字
例子:

三个 integer 是集合 Z={…,-2,-1,0,1,2,…} 
中的贰个数。整型值能够用十进制,十六进制或八进制符号钦定,前边能够加上可选的符号(-或许+)。

//$a=0;
//$a=0.0;
$a=”0″;
var_dump((bool) 0);
echo “<br />”;
var_dump((bool) array());
if($a==false){
echo “空0暗中认可调换为false,成功!”;
}else{
echo “不能够改动为false”;
}

 代码如下

假如用八进制符号,数字前必须抬高 0(零),用十六进制符号数字前必须抬高
0x。

输出:

<?php
$foo = 1 + “10.5”;  // $foo为浮点型:11.5
$foo = 1 + “-1.3e3”;  // $foo 为浮点型:-1299
$foo = 1 + “bob-1.3e3”;  // $foo 为整型:1
$foo = 1 + “bob3”;  // $foo为整型:1
$foo = 1 + “10 Small Pigs”; // $foo为整型:11
$foo = “10.0 pigs ” + 1; // $foo 为浮点型:11

例如:

bool(false)
bool(false) 空0暗中认可调换为false,成功!

?>

 代码如下

转变为布尔值
要明示地将三个值调换来 boolean,用 (bool) 大概 (boolean)
来强制转变。但是众多情形下无需用强制转变,因为当运算符,函数或然流程序调整制需求三个boolean 参数时,该值会被机关调换。

出于php无需在数据选取时定义变量所以大家得以灵活的定义变量,同有时间也足以灵活的转换数据类型。

<?php

当转变为 boolean 时,以下值被以为是 FALSE:

$a=1234;          //十进制数

布尔值 FALSE

$a=-123;          //一个负数

整型值 0(零)

$a=0123;          //八进制数(等于十进制的 83)

浮点型值 0.0(零)

$a=0x1A;          //十六进制数(等于十进制的 26)

空白字符串和字符串 “0”

?>

未有成员变量的数组

整型值能够使用十进制,十六进制或八进制进行表示,前面能够增进可选的符号(-
只怕 +)。

并未有单元的对象(仅适用于 PHP 4)

八进制表示数字前必须抬高 0(零),十六进制表示数字前必得抬高 0x。

特殊类型 NULL(包蕴没有设定的变量)

亚洲必赢官网,整型数的字长和平台有关,尽管经常最大值是轮廓二十亿(32 位有暗号)。PHP
不帮衬无符号整数。Integer值的字长可以用常量PHP_INT_SIZE来表示,自 PHP
4.4.0 和 PHP 5.0.5后,最大值能够用常量PHP_INT_MAX来表示。

享有其余值都被以为是 TRUE(包蕴别的国资本源)。

倘使给定的三个数抢先了 integer 的范围,将会被解说为
float。同样若是实施的演算结果出乎了 integer 范围,也会回去 float。

条件if else

PHP 中尚无整除的运算符。一半 发生出 float
0.5。能够继续不停放任小数部分,或许使用 round() 函数。

if 条件语句语法
If 结构是编制程序语言中最常用的。其语法如下:

要简明地将贰个值转变为 integer,用 (int) 或 (integer)
强制转换。但是超越三分一气象下都无需强制转换,因为当运算符,函数或流程序调控制须要三个integer 参数时,值会自动转变。还是可以透过函数 intval()
来将三个值转变来整型。

if (expr)
  statement
内部,expr 表示原则,statement
表示符合条件后应该推行的言语。意思是,借使符合有个别条件
(expr),就试行前边的语句 (statement),要是不符合条件,则什么也不做。

从布尔值调换,FALSE 将发出出 0(零),TRUE 将生出出 1(壹)。
从浮点数转变,当从浮点数调换来整数时,将向零取整。假若浮点数高出了整数范围(平时为
+/- 2.15e+9 =
2^31),则结果不分明,因为尚未丰硕的精度使浮点数给出叁个适中的整数结果。在此情状下并未有警示,乃至从不其他公告!

示范如下:

布尔型是最简易的门类。boolean 表达了真值,可感到 TRUE 或
FALSE。要钦点三个 布尔值,使用主要字 TRUE 或
FALSE,多个都以大小写不敏感的。

 代码如下

 代码如下

<?phpif ($a > $b)  echo “a is bigger than b”;?>

<?php

地点的以身作则意思是,如若变量 $a > $b ,则输出 “a is bigger than
b”,反之,则什么也不做。

$foo=True;          //将 true 值赋给$foo

切合 if 条件后,如若要实践的讲话不仅仅一行,则要求用大括号 {}
将多行语句围起来。示举个例子下:

?>

 代码如下

以下值被感觉是 FALSE:

<?phpif ($a > $b) {  echo “a is bigger than b”;  $b = $a;}?>

�    布尔值 FALSE

本条例子的意趣是,假诺变量 $a > $b ,则输出 “a is bigger than
b”,并且将 $a 赋值给 $b

�    整型值 0(零)

�    浮点型值 0.0(零)

�    空白字符串和字符串 “0”

�    未有成员变量的数组

�    未有单元的指标

�    特殊体系 NULL(包涵没有设定的变量) 全部别的值都被感到是
TRUE(包涵其余财富)

float数据类型

浮点数的字长和平台相关,就算平时最大值是 1.8e308 并具有 13个人十进制数字的精度(64 位 IEEE 格式)。

显然轻巧的十进制分数就如 0.1 或 0.7
不能够在不放任一丢丢精度的动静下退换为个中二进制的格式。那就能变成混乱的结果:比方,floor((0.1+0.7)*10)
通常会重回 7 并非预料中的 8,因为该结果里面包车型大巴表示其实是相仿 7.9。

 代码如下

<?php

$a = 76.60;
$b = 76.00;

$c = $a-$b;
var_dump($c);

?>

输出是
float(0.59999999999999)

只是76.70就不会现出那几个主题材料… 后来意识

 

 代码如下

$a = 76.60; 
$d = intval($a*100); 
var_dump($d); 
$a = 76.60;
$d = intval($a*100);
var_dump($d);
输出是int(7659)

那的确是76.60的难点…  (Java,Obj-C下边也重现了那个主题材料)

那和二个真相有关,那正是不容许正确的用单薄位数表达有个别十进制分数。比方,十进制的
53% 产生了 0.3。

浮点型

浮点数(也叫“floats”,“doubles”或“real
numbers”)能够用以下任何语法定义:

 代码如下

<?php

$a=1.234;

$a=1.2e3;

$a=7E-10;

?>

在php中那三种数字类型大家都详细的解说了有亟待领悟的朋友能够参照一下。

网站地图xml地图