数据类型

变量的宣示

  • PHP变量声明必须是$(英镑符号)+变量名举行命名,同时在=(赋值操作符)后开展赋值
  • 声明后的变量不是仅可以在一个<?php 这里是php代码 ?>运用,它还是能在时下页面所有开启使<?php 这里是php代码 ?>用,包含include和require引入的公文,当然在函数中是部分变量,另当别论
  • 在利用该变量往日,大家不乏先例使用isset()empty()七个函数,isset()是反省变量是或不是设置,empty()则是反省变量是不是为空,unset()则是假释变量,在那里推荐使用!empty()留存且无法为空
  • php变量的命名大小写区分,且不可以是根本词

变量的宣示

  • PHP变量申明必须是$(美金符号)+变量名进行命名,同时在=(赋值操作符)后开展赋值
  • 宣称后的变量不是仅可以在一个<?php 这里是php代码 ?>采用,它还足以在近期页面所有开启使<?php 这里是php代码 ?>用,包含include和require引入的文本,当然在函数中是局地变量,另当别论
  • 在行使该变量此前,我们经常使用isset()empty()七个函数,isset()是检查变量是不是设置,empty()则是检查变量是不是为空,unset()则是释放变量,在此地推荐应用!empty()存在且不可能为空
  • php变量的命名大小写区分,且不可以是紧要词

PHP 数据类型


PHP 数据类型


Demo

<?php
//声明变量a
$a="hello world";
?>
<?php 
//判断变量a是否存在,如果存在,就打印,echo为打印函数
if(!empty($a)){
    echo "变量存在";
    echo $a;
}

//销毁变量a
unset($a);

if(empty($a)){
    echo "变量不存在!";
}
?>

Demo

<?php
//声明变量a
$a="hello world";
?>
<?php 
//判断变量a是否存在,如果存在,就打印,echo为打印函数
if(!empty($a)){
    echo "变量存在";
    echo $a;
}

//销毁变量a
unset($a);

if(empty($a)){
    echo "变量不存在!";
}
?>

各样标题类型

  • boolean(布尔型)
  • integer(整型)
  • float(浮点型,也称作 double)
  • string(字符串)

各类标题类型

  • boolean(布尔型)
  • integer(整型)
  • float(浮点型,也称作 double)
  • string(字符串)

可变变量

可变变量的趣味是一个变量的变量名可以动态的安装和选取。一个司空见惯的变量通过评释来安装,然后可变变量获取那些平凡变量的值作为这一个可变变量的变量名,可变变量注明是以$$开头。

可变变量

数据类型。可变变量的意思是一个变量的变量名可以动态的安装和运用。一个平常的变量通过注解来设置,然后可变变量获取这些平凡变量的值作为那几个可变变量的变量名,可变变量注解是以$$开头。

二种复合类型

  • array(数组)
  • object(对象)
  • callable(可调用)

两种复合类型

  • array(数组)
  • object(对象)
  • callable(可调用)

Demo

<?php
//声明变量$a
$a="hello";
//声明可变变量$$a
$$a="world";

//将会全部打印"hello world"
echo "$a $hello";
echo "$a ${$a}"
?>

Demo

<?php
//声明变量$a
$a="hello";
//声明可变变量$$a
$$a="world";

//将会全部打印"hello world"
echo "$a $hello";
echo "$a ${$a}"
?>

二种奇特类型

  • resource(资源)
  • NULL(无类型)

三种新鲜连串

  • resource(资源)
  • NULL(无类型)

变量的引用赋值

PHP的引用就是在变量或者函数、对象等前面加上&标志。它其实一定于变量的一个别名,改变其中擅自一个变量的值,另一个变量的值就会随之改变。不过它也不像C语言中的变量引用赋值那样,若是自身用unset()函数销毁其中任意一个变量,另一个变量依然存在。

变量的引用赋值

PHP的引用就是在变量或者函数、对象等前边加上&标记。它实际一定于变量的一个别名,改变其中擅自一个变量的值,另一个变量的值就会随着转移。然则它也不像C语言中的变量引用赋值那样,如果自己用unset()函数销毁其中任意一个变量,另一个变量如故存在。

伪类型

  • mixed(混合类型)
  • number(数字类型)
  • callback(回调类型,又叫做 callable)
  • array|object(数组 | 对象类型)
  • void (无类型)

伪类型

  • mixed(混合类型)
  • number(数字类型)
  • callback(回调类型,又称之为 callable)
  • array|object(数组 | 对象类型)
  • void (无类型)

Demo

<?php
//声明变量$a
$a="hello";
//声明变量$b
$b=&$a;

$b="world";
//将会打印"word world"
echo "$a $b";

unset($a);

//将会打印world
echo $b;
?>

Demo

<?php
//声明变量$a
$a="hello";
//声明变量$b
$b=&$a;

$b="world";
//将会打印"word world"
echo "$a $b";

unset($a);

//将会打印world
echo $b;
?>

取得变量的类型

gettype — 得到变量的项目

string gettype ( mixed $var )

赢得变量的花色

gettype — 得到变量的档次

string gettype ( mixed $var )

变量的连串

PHP辅助两种原始类型。具体的分为七种标量类型:string(字符串)、integer(整型)、float(浮点型,还有更高精度的double)和boolean(布尔型),两种复合类型:
array(数组)和object(对象),三种相当类型resource(资源)和NULL。数组和对象的扬言可以参照Demo中的格式。这里的数组我们用array()来创设,它的参数是比照key=>value格式用逗号隔开的。

变量的档次

PHP支持多种原始类型。具体的分为八种标量类型:string(字符串)、integer(整型)、float(浮点型,还有更高精度的double)和boolean(布尔型),二种复合类型:
array(数组)和object(对象),三种万分类型resource(资源)和NULL。数组和对象的注解可以参考Demo中的格式。这里的数组我们用array()来创设,它的参数是根据key=>value格式用逗号隔开的。

检测变量的品种

  • is_array — 检测变量是还是不是是数组
  • is_bool — 检测变量是还是不是是布尔型
  • is_callable — 检测参数是不是为官方的可调用结构
  • is_double — is_float 的别名
  • is_float — 检测变量是不是是浮点型
  • is_int — 检测变量是或不是是整数
  • is_integer — is_int 的别名
  • is_iterable — Verify that the contents of a variable is an iterable
    value
  • is_long — is_int 的别名
  • is_null — 检测变量是还是不是为 NULL
  • is_numeric — 检测变量是或不是为数字或数字字符串
  • is_object — 检测变量是不是是一个目的
  • is_real — is_float 的别名
  • is_resource — 检测变量是还是不是为资源类型
  • is_scalar — 检测变量是还是不是是一个标量
  • is_string — 检测变量是不是是字符串
  • isset — 检测变量是不是设置
  • is_nan — 判断是不是为官方数值

检测变量的门类

  • is_array — 检测变量是或不是是数组
  • is_bool — 检测变量是不是是布尔型
  • is_callable — 检测参数是还是不是为合法的可调用结构
  • is_double — is_float 的别名
  • is_float — 检测变量是不是是浮点型
  • is_int — 检测变量是还是不是是整数
  • is_integer — is_int 的别名
  • is_iterable — Verify that the contents of a variable is an iterable
    value
  • is_long — is_int 的别名
  • is_null — 检测变量是还是不是为 NULL
  • is_numeric — 检测变量是不是为数字或数字字符串
  • is_object — 检测变量是还是不是是一个对象
  • is_real — is_float 的别名
  • is_resource — 检测变量是不是为资源类型
  • is_scalar — 检测变量是或不是是一个标量
  • is_string — 检测变量是或不是是字符串
  • isset — 检测变量是不是设置
  • is_nan — 判断是或不是为合法数值

Demo

<?php
$bool=true;
$str="hello";
$int=123;
$float=1.2e3;//相当于1.2乘以10的三次方
$arr=array("key1"=>12,"key2"=>true);

//声明对象类型
class Person{
    var $name;
    function say(){
        echo "I am happy";
    }
}

$p=new Person();
$p->name="Tom";
$p->say();

//var_dump()直接输出变量类型
var_dump($bool);
var_dump($str);
var_dump($int);
var_dump($float);
var_dump($arr);
var_dump($p);

//输出结果为 
//I am happy
//bool(true) string(5) "hello" int(123) float(1200) 
//array(2) { ["key1"]=> int(12) ["key2"]=> bool(true) } 
//object(Person)#1 (1) { ["name"]=> string(3) "Tom" }
?>

Demo

<?php
$bool=true;
$str="hello";
$int=123;
$float=1.2e3;//相当于1.2乘以10的三次方
$arr=array("key1"=>12,"key2"=>true);

//声明对象类型
class Person{
    var $name;
    function say(){
        echo "I am happy";
    }
}

$p=new Person();
$p->name="Tom";
$p->say();

//var_dump()直接输出变量类型
var_dump($bool);
var_dump($str);
var_dump($int);
var_dump($float);
var_dump($arr);
var_dump($p);

//输出结果为 
//I am happy
//bool(true) string(5) "hello" int(123) float(1200) 
//array(2) { ["key1"]=> int(12) ["key2"]=> bool(true) } 
//object(Person)#1 (1) { ["name"]=> string(3) "Tom" }
?>

变量类型转换

settype — 设置变量的类型

bool settype ( mixed &$var , string $type )
参数 解释
var 要转换的变量。
type 转换后的数据类型

变量类型转换

settype — 设置变量的项目

bool settype ( mixed &$var , string $type )
参数 解释
var 要转换的变量。
type 转换后的数据类型

资源类型

资源是一种独特变量,保存了到表面资源的一个引用。资源是通过专门的函数来建立和行使的。由于资源类型变量保存有为开拓文件、数据库连接、图形画布区域等的格外句柄,由此将其它品类的值转换为资源没有意义。

资源类型

资源是一种新鲜变量,保存了到表面资源的一个引用。资源是通过专门的函数来确立和应用的。由于资源类型变量保存有为开辟文件、数据库连接、图形画布区域等的特有句柄,由此将另外类型的值转换为资源没有意义。

type取值

  • “boolean” (或为“bool”,从 PHP 4.2.0 起)
  • “integer” (或为“int”,从 PHP 4.2.0 起)
  • “float” (只在 PHP 4.2.0
    之后可以使用,对于旧版本中应用的“double”现已停用)
  • “string”
  • “array”
  • “object”
  • “null” (从 PHP 4.2.0 起)

type取值

  • “boolean” (或为“bool”,从 PHP 4.2.0 起)
  • “integer” (或为“int”,从 PHP 4.2.0 起)
  • “float” (只在 PHP 4.2.0
    之后方可行使,对于旧版本中行使的“double”现已停用)
  • “string”
  • “array”
  • “object”
  • “null” (从 PHP 4.2.0 起)

Demo

<?php
//以写的方式打开本目录下的1.txt文件
$file=fopen("1.txt","w");

//连接本地数据库
$mysql=mysql_connect("localhost","root","root");
?>

Demo

<?php
//以写的方式打开本目录下的1.txt文件
$file=fopen("1.txt","w");

//连接本地数据库
$mysql=mysql_connect("localhost","root","root");
?>

体系强制转换

  • (int), (integer) – 转换为整形 integer
  • (bool), (boolean) – 转换为布尔类型 boolean
  • (float), (double), (real) – 转换为浮点型 float
  • (string) – 转换为字符串 string
  • (array) – 转换为数组 array
  • (object) – 转换为目的 object
  • (unset) – 转换为 NULL (PHP 5)

项目强制转换

  • (int), (integer) – 转换为整形 integer
  • (bool), (boolean) – 转换为布尔类型 boolean
  • (float), (double), (real) – 转换为浮点型 float
  • (string) – 转换为字符串 string
  • (array) – 转换为数组 array
  • (object) – 转换为对象 object
  • (unset) – 转换为 NULL (PHP 5)

NULL类型

在PHP中被认为为NULL类型的有二种情状

  1. 将变量间接赋值为NULL
  2. 注脚的变量未被赋值
  3. unset()函数销毁的变量

NULL类型

在PHP中被认为为NULL类型的有二种状态

  1. 将变量直接赋值为NULL
  2. 声称的变量未被赋值
  3. unset()函数销毁的变量

Boolean 布尔档次

那是最简便的类型。boolean 表达了真值,可以为 TRUE 或 FALSE。

Boolean 布尔类型

那是最简便的档次。boolean 表明了真值,可以为 TRUE 或 FALSE。

伪类型

PHP伪类型有三种,分别是:mixed混合类型、number数字类型和callback回调类型。

  1. mixed说美素佳儿(Friso)(Beingmate)个参数可以承受各种分歧的品种,但并不是所有的花色,例如str_replace()可以接受字符串和数组,gettype()可以承受其他类型。
  2. number参数能够承受integer整型和float浮点型。
  3. callback回调类型是比如说call_user_func()函数就可接收用户自定义的函数作为一个参数。callback函数不仅可以是一个函数,也足以是一个目标的措施,静态类的措施也得以。一个php函数用函数名字符串来传递,可以传递任何内置的或者用户自定义的函数,除了例如array(),echo(),empty(),eval(),exit(),isset(),list(),print(),unset()等那一个内置函数。

伪类型

PHP伪类型有三种,分别是:mixed混合类型、number数字类型和callback回调类型。

  1. mixed说惠氏个参数可以接受两种分化的连串,但并不是持有的品类,例如str_replace()可以承受字符串和数组,gettype()可以承受任何项目。
  2. number参数能够承受integer整型和float浮点型。
  3. callback回调类型是比如说call_user_func()函数就可吸纳用户自定义的函数作为一个参数。callback函数不仅可以是一个函数,也可以是一个目的的办法,静态类的办法也足以。一个php函数用函数名字符串来传递,可以传递任何内置的或者用户自定义的函数,除了例如array(),echo(),empty(),eval(),exit(),isset(),list(),print(),unset()等那些内置函数。

改换为布尔值

要旗帜显著地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。

唯独不少状态下不必要用强制转换,因为当运算符,函数或者流程控制结构须要一个
boolean 参数时,该值会被机关转换。

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

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 “0”
  • 不包含其它因素的数组
  • 非同经常类型 NULL(包涵没有赋值的变量)
  • 从空标记生成的 SimpleXML 对象

-1 和其余非零值(不论正负)一样,被认为是 TRUE!

转移为布尔值

要简明地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。

不过洋洋情况下不须要用强制转换,因为当运算符,函数或者流程控制结构须求一个
boolean 参数时,该值会被自动转换。

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

  • 布尔值 FALSE 本身
  • 整型值 0(零)
  • 浮点型值 0.0(零)
  • 空字符串,以及字符串 “0”
  • 不包罗其余因素的数组
  • 非凡序列 NULL(蕴涵没有赋值的变量)
  • 从空标记生成的 SimpleXML 对象

-1 和其他非零值(不论正负)一样,被认为是 TRUE!

机动类型转换

那种转移寻常产生在分裂品种混合运算时,它听从以下规则

  • 假使是布尔类型,将true变成1,false变成0
  • 若是是null,将会化为数值0
  • 比方是float和int混合运算,转换成float类型
  • 一经是字符串,则提取字符串中的数字,例如”123.45abc”变成123.45,若没有数字,则是0

电动类型转换

那种转移日常暴发在分裂类型混合运算时,它坚守以下标准

  • 假定是布尔类型,将true变成1,false变成0
  • 若是是null,将会化为数值0
  • 万一是float和int混合运算,转换成float类型
  • 若果是字符串,则提取字符串中的数字,例如”123.45abc”变成123.45,若没有数字,则是0

Integer 整型

整型值可以使用十进制,十六进制,八进制或二进制表示,后面可以添加可选的记号(-
或者 +)。

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)
?>

Integer 整型

整型值可以行使十进制,十六进制,八进制或二进制表示,前边可以加上可选的记号(-
或者 +)。

<?php
$a = 1234; // 十进制数
$a = -123; // 负数
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
$a = 0b11111111; // 二进制数字 (等于十进制 255)
?>

强制类型转换

PHP 中的类型强制转换和 C
中的卓殊像:在要转移的变量之前增加用括号括起来的对象项目。允许的吓唬转换有:

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

再就是,在动用中大家可以透过一些函数判断变量类型。判断变量类型常用的函数紧要有下列几个:
gettype()重临变量类型、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_string()和is_callable()判断是或不是是有效函数。

强制类型转换

PHP 中的类型强制转换和 C
中的非凡像:在要转移的变量从前增加用括号括起来的对象项目。允许的强制转换有:

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

并且,在拔取中大家得以通过有些函数判断变量类型。判断变量类型常用的函数主要有下列多少个:
gettype()再次来到变量类型、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_澳门葡京备用网址 ,string()和is_callable()判断是不是是有效函数。

更多内容请看

平头溢出

假定给定的一个数当先了 integer 的限制,将会被解说为 float。

相同如若执行的运算结果出乎了 integer 范围,也会回来 float。

平头溢出

只要给定的一个数超越了 integer 的界定,将会被分解为 float。

如出一辙借使履行的演算结果出乎了 integer 范围,也会回去 float。

布尔值转换成整型

FALSE 将发出出 0(零),TRUE 将生出出 1(壹)。

布尔值转换成整型

FALSE 将发出出 0(零),TRUE 将生出出 1(壹)。

浮点型转成整型

当从浮点数转换成整数时,将向下取整。

echo (int)3.12; # 输出3

浮点型转成整型

当从浮点数转换成整数时,将向下取整。

echo (int)3.12; # 输出3

字符串转成整型

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)     
?>

字符串转成整型

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)     
?>

Float 浮点型

浮点型(也叫浮点数 float,双精度数 double 或实数
real)可以用来下任一语法定义:

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
?>

Float 浮点型

浮点型(也叫浮点数 float,双精度数 double 或实数
real)能够用来下任一语法定义:

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;
?>

浮点数的精度

为此永远不要相信浮点数结果精确到了倒数一位,也永远不要相比较八个浮点数是还是不是等于。

假定的确要求更高的精度,应该使用任意精度数学函数或者 gmp 函数。

echo floor((0.1+0.7)*10); # 输出7

浮点数的精度

为此永远不要相信浮点数结果精确到了最后一位,也永远不要比较多个浮点数是或不是等于。

若是确实需要更高的精度,应该运用任意精度数学函数或者 gmp 函数。

echo floor((0.1+0.7)*10); # 输出7

String 字符串

一个字符串 string 就是由一多级的字符组成,其中每个字符等同于一个字节。

那意味 PHP 只可以扶助 256 的字符集,由此不支持 Unicode 。

string 最大能够高达 2GB。

String 字符串

一个字符串 string 就是由一多级的字符组成,其中每个字符等同于一个字节。

那意味着 PHP 只好协助 256 的字符集,由此不帮忙 Unicode 。

string 最大可以高达 2GB。

4种办法发挥

  • 单引号
  • 双引号
  • heredoc 语法结构
  • nowdoc 语法结构(自 PHP 5.3.0 起)

4种艺术表明

  • 单引号
  • 双引号
  • heredoc 语法结构
  • nowdoc 语法结构(自 PHP 5.3.0 起)

单引号

不像双引号和 heredoc
语法结构,在单引号字符串中的变量和特殊字符的转义体系将不会被交换。

单引号

不像双引号和 heredoc
语法结构,在单引号字符串中的变量和特殊字符的转义系列将不会被轮换。

双引号

用双引号定义的字符串最首要的特征是变量会被分析。

转义字符 含义
\n 换行(ASCII 字符集中的 LF 或 0x0A (10))
\r 回车(ASCII 字符集中的 CR 或 0x0D (13))
\t 水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
\v 垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\e Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f 换页(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\ 反斜线
\$ 美元标记
\" 双引号
[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
\x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符

双引号

用双引号定义的字符串最重大的特色是变量会被分析。

转义字符 含义
\n 换行(ASCII 字符集中的 LF 或 0x0A (10))
\r 回车(ASCII 字符集中的 CR 或 0x0D (13))
\t 水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
\v 垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\e Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f 换页(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\ 反斜线
\$ 美元标记
\" 双引号
[0-7]{1,3} 符合该正则表达式序列的是一个以八进制方式来表达的字符
\x[0-9A-Fa-f]{1,2} 符合该正则表达式序列的是一个以十六进制方式来表达的字符

heredoc类似于双引号可以分析变量

```php
$name = 'Hello';
echo <<<EOD
里面的变量$name会解析。
EOD;

heredoc类似于双引号能够分析变量

```php
$name = 'Hello';
echo <<<EOD
里面的变量$name会解析。
EOD;

nowdoc类似于单引号不会分析变量

$name = 'Hello';
echo <<<'EOD'
里面的变量$name不会解析。
EOD;

nowdoc类似于单引号不会分析变量

$name = 'Hello';
echo <<<'EOD'
里面的变量$name不会解析。
EOD;

转换成字符串

一个值可以经过在其前方加上 (string) 或用 strval() 函数来变化成字符串。

一个布尔值 boolean 的 TRUE 被转换成 string 的 “1”。Boolean 的 FALSE
被转换成 “”(空字符串)。

那种转移可以在 boolean 和 string 之间互相举办。

数组 array 总是转换成字符串 “Array”。

资源 resource 总会被扭转成 “Resource id #1” 那种社团的字符串。

NULL 总是被转变成空字符串。

转换成字符串

一个值可以经过在其前方加上 (string) 或用 strval() 函数来扭转成字符串。

一个布尔值 boolean 的 TRUE 被转换成 string 的 “1”。Boolean 的 FALSE
被转换成 “”(空字符串)。

这种转移可以在 boolean 和 string 之间交互举行。

数组 array 总是转换成字符串 “Array”。

资源 resource 总会被变型成 “Resource id #1” 那种社团的字符串。

NULL 总是被转变成空字符串。

字符串转成数值

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)     
?>

字符串转成数值

<?php
$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11)     
?>

Array数组

PHP 中的数组实际上是一个平稳映射。映射是一种把 values 关联到 keys
的种类。

Array数组

PHP 中的数组实际上是一个逐步映射。映射是一种把 values 关联到 keys
的项目。

概念数组 array()

可以用 array() 语言结构来新建一个数组。它承受任意数量用逗号分隔的
键(key) => 值(value)对。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

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

key 会有如下的要挟转换

  • 富含有合法整型值的字符串会被转移为整型。例如键名 “8” 实际会被积存为
    8。然则 “08” 则不会强制转换,因为其不是一个法定的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7
    实际会被储存为 8。
  • 布尔值也会被转换成整型。即键名 true 实际会被贮存为 1 而键名 false
    会被积存为 0。
  • Null 会被撤换为空字符串,即键名 null 实际会被积存为 “”。
  • 数组和目的不可以被用为键名。锲而不舍这么样做会造成警告:Illegal offset
    type。

概念数组 array()

可以用 array() 语言结构来新建一个数组。它承受任意数量用逗号分隔的
键(key) => 值(value)对。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

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

key 会有如下的勒迫转换

  • 包涵有法定整型值的字符串会被更换为整型。例如键名 “8” 实际会被储存为
    8。不过 “08” 则不会强制转换,因为其不是一个官方的十进制数值。
  • 浮点数也会被转移为整型,意味着其小数部分会被舍去。例如键名 8.7
    实际会被贮存为 8。
  • 布尔值也会被转换成整型。即键名 true 实际会被积存为 1 而键名 false
    会被储存为 0。
  • Null 会被更换为空字符串,即键名 null 实际会被储存为 “”。
  • 数组和对象不可能被用为键名。坚定不移那样做会招致警告:Illegal offset
    type。

数组类型

  • 数字索引数组(下标为数字)
  • 关全面组(键值对)

数组类型

  • 数字索引数组(下标为数字)
  • 论及数组(键值对)

数组遍历

$arr = ['one'=>'First', 'two'=>'Second'];
foreach ($arr as $key => $value)
{
    echo '$key=' . "$key" . "<br>";
    echo '$value=' . "$value" . "<br>";
}

数组遍历

$arr = ['one'=>'First', 'two'=>'Second'];
foreach ($arr as $key => $value)
{
    echo '$key=' . "$key" . "<br>";
    echo '$value=' . "$value" . "<br>";
}

Object 对象

Object 对象

目的早先化

要成立一个新的靶子 object,使用 new 语句实例化一个类:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
?>

目的开端化

要创立一个新的靶子 object,使用 new 语句实例化一个类:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();
?>

改换为对象

若是将一个对象转换成对象,它将不会有任何变动。

借使其余任何类型的值被转换成对象,将会创建一个内置类 stdClass 的实例。

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // outputs 'int(1)'
?>

对此其它值,会蕴藏进成员变量名 scalar。

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // outputs 'ciao'
?>

转移为对象

一旦将一个对象转换成对象,它将不会有其余变动。

假诺别的任何项目标值被转换成对象,将会创建一个内置类 stdClass 的实例。

<?php
$obj = (object) array('1' => 'foo');
var_dump(isset($obj->{'1'})); // outputs 'bool(false)'
var_dump(key($obj)); // outputs 'int(1)'
?>

对于任何值,会含有进成员变量名 scalar。

<?php
$obj = (object) 'ciao';
echo $obj->scalar;  // outputs 'ciao'
?>

Resource 资源类型

资源 resource 是一种万分变量,保存了到表面资源的一个引用。

资源是通过专门的函数来确立和运用的。

Resource 资源类型

资源 resource 是一种非常变量,保存了到表面资源的一个引用。

资源是因而专门的函数来树立和动用的。

更换为资源

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

转换为资源

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

自由资源

PHP也有垃圾堆自动回收机制,可以自动检测到一个资源不再被引述了。

从头到最终多少个据库连接相比新鲜,它们不会被垃圾回收连串销毁。

自由资源

PHP也有垃圾堆自动回收机制,可以自动检测到一个资源不再被引用了。

坚忍不拔数据库连接相比较更加,它们不会被垃圾回收系统销毁。

NULL

优良的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

在下列情状下一个变量被认为是 NULL

  • 被赋值为 NULL。
  • 从未被赋值。
  • 被 unset()。

NULL

格外的 NULL 值表示一个变量没有值。NULL 类型唯一可能的值就是 NULL。

在下列处境下一个变量被认为是 NULL

  • 被赋值为 NULL。
  • 不曾被赋值。
  • 被 unset()。

转换到 NULL

选拔 (unset) $var 将一个变量转换为 null 将不会删除该变量或 unset
其值。仅是回来 NULL 值而已。

转换到 NULL

运用 (unset) $var 将一个变量转换为 null 将不会去除该变量或 unset
其值。仅是回去 NULL 值而已。

mixed

mixed 说爱他美(Aptamil)个参数能够承受三种差其他(但不必然是具有的)类型。

诸如 gettype() 可以承受所有的 PHP 类型,str_replace()
可以接受字符串和数组。

mixed

mixed 表明一(Wissu)个参数可以接受各类分化的(但不必然是有所的)类型。

例如 gettype() 可以接受所有的 PHP 类型,str_replace()
可以承受字符串和数组。

number

number 说Bellamy(Bellamy)个参数可以是 integer 或者 float。

number

number 表明一(Wissu)个参数可以是 integer 或者 float。

array|object

array|object 意思是参数既可以是 array 也足以是 object。

array|object

array|object 意思是参数既可以是 array 也得以是 object。

void

void 作为重回类型意味着函数的重回值是行不通的。

void 作为参数列表意味着函数不收受任何参数。

void

void 作为重回类型意味着函数的再次回到值是无济于事的。

void 作为参数列表意味着函数不接受其余参数。

php怎么着注明定义数组

  • 索引数组

默许下标或含有数字索引的数组

  • 提到数组

键名不为纯数字带有指定值如标识符的数组

  • 至于键值的证实

键(key)可以是一个平头integer或字符串string

值(value)可以是不管三七二十一档次的值

  • 直白为元素赋值

$myarr['Q'] = "Q";
$myarr[] = "A";
$myarr[] = "B";
$myarr[2] = "B";
print_r($myarr);
#在php中数据可以动态改变长度。并且会默认按下标进行赋值。
  • 应用array函数进行赋值

#一维数组
$myarr = array("A","B","C");
foreach($myarr as $key => $value){
    echo "key=".$key;
    echo "value=".$value;
    echo "
";
}
#多维数组,递归输出数组值
function myfun(array $myarr){
    foreach($myarr as $key => $value){
        if(is_array($value)){
            myfun($value);
        }else{
            echo "key=".$key;
            echo "value=".$value;
            echo "
";
        }
    }
}
$myarr = array("A"=>array("1"=>array("a","b","c"),"2","3"),"B","C");
echo myfun($myarr)."维数组";

php怎么着表明定义数组

  • 索引数组

默许下标或含有数字索引的数组

  • 论及数组

键名不为纯数字带有指定值如标识符的数组

  • 至于键值的印证

键(key)可以是一个平头integer或字符串string

值(value)可以是即兴档次的值

  • 直白为因素赋值

$myarr['Q'] = "Q";
$myarr[] = "A";
$myarr[] = "B";
$myarr[2] = "B";
print_r($myarr);
#在php中数据可以动态改变长度。并且会默认按下标进行赋值。
  • 选拔array函数进行赋值

#一维数组
$myarr = array("A","B","C");
foreach($myarr as $key => $value){
    echo "key=".$key;
    echo "value=".$value;
    echo "
";
}
#多维数组,递归输出数组值
function myfun(array $myarr){
    foreach($myarr as $key => $value){
        if(is_array($value)){
            myfun($value);
        }else{
            echo "key=".$key;
            echo "value=".$value;
            echo "
";
        }
    }
}
$myarr = array("A"=>array("1"=>array("a","b","c"),"2","3"),"B","C");
echo myfun($myarr)."维数组";

php怎样调用数组方法

  • array_keys()再次回到数组中兼有的键名

$myarr = array("A","B","C");
print_r(array_keys($myarr));
  • array_values()重返数组中所有的值

$myarr = array("A","B","C");
print_r(array_values($myarr));

php怎么着调用数组方法

  • array_keys()重临数组中持有的键名

$myarr = array("A","B","C");
print_r(array_keys($myarr));
  • array_values()重回数组中有着的值

$myarr = array("A","B","C");
print_r(array_values($myarr));

php怎样对数组查、增、改、删

  • 查array_search()数组值查找

#返回查找到的元素下标
$myarr = array("A","B","C");
echo array_search("B",$myarr);
  • 增array_push()队尾添加数据

#返回增加后数组的大小
$myarr = array("A","B","C");
echo array_push($myarr,"D");
print_r($myarr);
  • 改array_chunk()一维转多维

$myarr = array("A","B","C");
$myarr = array_chunk($myarr,2,true);
print_r($myarr);
  • 删array_unique()

#返回删除重复元素后的数组
$myarr = array("A","B","C","B");
print_r(array_unique($myarr));
#unset无返回值
$myarr = array("A","B","C");
unset($myarr[2]);
  • 合并array_merge()

$myarr1 = array("one","two");
$myarr2 = array("three","four");
$myarr3 = array_merge($myarr1, $myarr2);
print_r($myarr3);  

php如何对数组查、增、改、删

  • 查array_search()数组值查找

#返回查找到的元素下标
$myarr = array("A","B","C");
echo array_search("B",$myarr);
  • 增array_push()队尾添加数据

#返回增加后数组的大小
$myarr = array("A","B","C");
echo array_push($myarr,"D");
print_r($myarr);
  • 改array_chunk()一维转多维

$myarr = array("A","B","C");
$myarr = array_chunk($myarr,2,true);
print_r($myarr);
  • 删array_unique()

#返回删除重复元素后的数组
$myarr = array("A","B","C","B");
print_r(array_unique($myarr));
#unset无返回值
$myarr = array("A","B","C");
unset($myarr[2]);
  • 合并array_merge()

$myarr1 = array("one","two");
$myarr2 = array("three","four");
$myarr3 = array_merge($myarr1, $myarr2);
print_r($myarr3);  

php怎么着举办数据类型转换

  • 类C强制转换

#第一种转换方式: (int)  (bool)  (float)  (string)  (array) (object)
2.$num1=3.14;
3.$num2=(int)$num1;
4.var_dump($num1); //输出float(3.14)
5.var_dump($num2); //输出int(3)
  • 赢得变量整数、浮点、字符串值

#第二种转换方式:  intval()  floatval()  strval()
2.$str="123.9abc";
3.$int=intval($str);     //转换后数值:123
4.$float=floatval($str); //转换后数值:123.9
5.$str=strval($float);   //转换后字符串:"123.9"
  • 行使settype()封装函数

#bool settype ( mixed &$var , string $type )
type 的可能值为:
“boolean” (或为“bool”,从 PHP 4.2.0 起)
“integer” (或为“int”,从 PHP 4.2.0 起)
“float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)
"string"
"array"
"object"
“null” (从 PHP 4.2.0 起)
2.$num4=12.8;
3.$flg=settype($num4,"int");
4.var_dump($flg);  //输出bool(true)
5.var_dump($num4); //输出int(12)

php怎样进行数据类型转换

  • 类C强制转换

#第一种转换方式: (int)  (bool)  (float)  (string)  (array) (object)
2.$num1=3.14;
3.$num2=(int)$num1;
4.var_dump($num1); //输出float(3.14)
5.var_dump($num2); //输出int(3)
  • 赢得变量整数、浮点、字符串值

#第二种转换方式:  intval()  floatval()  strval()
2.$str="123.9abc";
3.$int=intval($str);     //转换后数值:123
4.$float=floatval($str); //转换后数值:123.9
5.$str=strval($float);   //转换后字符串:"123.9"
  • 选取settype()封装函数

#bool settype ( mixed &$var , string $type )
type 的可能值为:
“boolean” (或为“bool”,从 PHP 4.2.0 起)
“integer” (或为“int”,从 PHP 4.2.0 起)
“float” (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的“double”现已停用)
"string"
"array"
"object"
“null” (从 PHP 4.2.0 起)
2.$num4=12.8;
3.$flg=settype($num4,"int");
4.var_dump($flg);  //输出bool(true)
5.var_dump($num4); //输出int(12)

php如何处理进制转换

  • 十进制转二进制decbin()

echo decbin(12); //输出 1100
  • 十进制转八进制 decoct()

echo decoct(15); //输出 17
  • 十进制转十六进制 dechex()

echo dechex(10); //输出 a
  • 二进制转十六制进 bin2hex()

$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//输出f9
  • 二进制转十制进 bindec()

echo bindec('110011'); //输出 51
  • 八进制转十进制 octdec()

echo octdec('77'); //输出 63
  • 十六进制转十进制 hexdec()

echo hexdec("F"); //输出 15
  • 擅自进制转换 base_convert()

$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100

php怎样处理进制转换

  • 十进制转二进制decbin()

echo decbin(12); //输出 1100
  • 十进制转八进制 decoct()

echo decoct(15); //输出 17
  • 十进制转十六进制 dechex()

echo dechex(10); //输出 a
  • 二进制转十六制进 bin2hex()

$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;//输出f9
  • 二进制转十制进 bindec()

echo bindec('110011'); //输出 51
  • 八进制转十进制 octdec()

echo octdec('77'); //输出 63
  • 十六进制转十进制 hexdec()

echo hexdec("F"); //输出 15
  • 自由进制转换 base_convert()

$hexadecimal = 'A37334';
echo base_convert($hexadecimal, 16, 2);//输出 101000110111001100110100

php怎样处理优先级的难点

运算符优先级指定了八个说明式绑定得有多”紧密”。可以动用括号来强制改变优先级。

万一运算符优先级相同,则运用从左到右的左联顺序。

澳门葡京备用网址 1

php如何处理优先级的难题

运算符优先级指定了七个表明式绑定得有多”紧密”。可以动用括号来强制改变优先级。

假若运算符优先级相同,则接纳从左到右的左联顺序。

澳门葡京备用网址 2

自加、自减、三目运算符

#自加
$a=10;
echo $a++; //先用再加,最后结果为10
echo ++$a; //先加再用,最后结果为11
$a = 10;
$b = $a+ ++++$a;
echo $a; //结果为12
echo "
";
echo $b; //结果为22
#结合性导致的问题(++的优先级比+的高,且为右结合)

自加、自减、三目运算符

#自加
$a=10;
echo $a++; //先用再加,最后结果为10
echo ++$a; //先加再用,最后结果为11
$a = 10;
$b = $a+ ++++$a;
echo $a; //结果为12
echo "
";
echo $b; //结果为22
#结合性导致的问题(++的优先级比+的高,且为右结合)

衿华客

衿华客

php 教程

  1. PHP简介
  2. PHP安装
  3. PHP语法
  4. PHP数据类型
  5. PHP变量
  6. PHP运算符
  7. PHP流程控制
  8. PHP函数
  9. PHP类与目的
  10. PHP字符串
  11. PHP正则表明示
  12. PHP文件
  13. PHP图形图像
  14. PHPXML
  15. PHP会话缓存
  16. PHP分外处理
  17. PHP数据库
  18. PHP日期时间戳
  19. PHP代码风格规范

php 教程

  1. PHP简介
  2. PHP安装
  3. PHP语法
  4. PHP数据类型
  5. PHP变量
  6. PHP运算符
  7. PHP流程控制
  8. PHP函数
  9. PHP类与目的
  10. PHP字符串
  11. PHP正则表明示
  12. PHP文件
  13. PHP图形图像
  14. PHPXML
  15. PHP会话缓存
  16. PHP十分处理
  17. PHP数据库
  18. PHP日期时间戳
  19. PHP代码风格规范

server 环境

  1. ubuntu入门
  2. docker入门
  3. git入门
  4. iterm入门

server 环境

  1. ubuntu入门
  2. docker入门
  3. git入门
  4. iterm入门

frame 框架

  1. laravel入门
  2. dingo入门
  3. JWT入门
  4. Laravel框架关键技术解析
  5. laravel则修笔记
  6. rpc入门
  7. rabbitmq入门
  8. opencc多国语言
  9. laravel兄弟连笔记
  10. laravel进阶

frame 框架

  1. laravel入门
  2. dingo入门
  3. JWT入门
  4. Laravel框架关键技术解析
  5. laravel则修笔记
  6. rpc入门
  7. rabbitmq入门
  8. opencc多国语言
  9. laravel兄弟连笔记
  10. laravel进阶

case 实例

  1. php面试题笔记
  2. python图标提取
  3. 字幕乱码难点
  4. 支付宝接口调用
  5. laravel开发笔记

case 实例

  1. php面试题笔记
  2. python图标提取
  3. 字幕乱码难点
  4. 支付宝接口调用
  5. laravel开发笔记

db 数据库

  1. elasticsearch入门
  2. 数据库操作
  3. 数据库设计
  4. redis入门

db 数据库

  1. elasticsearch入门
  2. 数据库操作
  3. 数据库设计
  4. redis入门

help

  • 帮忙文档
  • 流程图辅助文档

 

help

  • 支援文档
  • 流程图协助文档

 

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website