变量声明
<?php $a = 100; $b = "string"; $c = true; $d = 99.99; // 将a变量的值赋给key1 $key1 = $a; //同时声明多个变量,并赋上相同的值 // $a=$b=$c=$d="value"; echo $a . "<br/>"; echo $b . "<br/>"; echo $c . "<br/>"; // 布尔类型返回值true为1 echo $d . "<br/>"; echo $key1;
控制变量
<?php $var=""; //empty()检查一个变量是否为空 if (empty($var)){ echo "var是空值<br/>"; } //isset()检测变量是否设置 if (isset($var)){ //结果是false,$var已经设置 echo "var已设置<br/>"; } unset($var);//销毁单个变量$var if (!isset($var)){ //结果为false,应为前面已经销毁这个变量了 print "var没有设置"; }
可变变量
<?php $hi="hello"; /* 声明一个可变变量$$hi,$hi的值是hello, 相当于声明$hello的值是"world"*/ $$hi="world"; echo "$hi $hello<br/>"; echo "$hi ${$hi}";
变量的引用赋值:使用”&“加在原始变量前来实现引用赋值
<?php $f00="Bob"; $bar=&$f00;//将变量$foo的引用赋值给变量$bar $bar="my name is yang"; echo $bar."<br/>"; echo $f00."<br/>"; $f00="your name is Bob"; echo $bar."<br/>"; echo $f00;
变量的类型:
查看变量或表达式的值和类型:Var_dump()函数
<?PHP $bool= TRUE; // 一个布尔型 $str ="foo"; //一个字符串类型 $int =12; // 一个整型 var_dump($bool);//直接输出变量$bool的类型和值bool(true) var_dump($str); //直接输出变量$str 的类型和值string(3)"foo" var_dump($int); //直接输出变量$int的类型和值int(12) ?>
布尔型(boolean)
<?php var_dump((bool)""); // bool(false)空字符串 var_dump((bool) 1); // bool(true) var_dump((bool) -2); // bool(true) var_dump((bool) "foo"); // bool(true) var_dump((bool) 2.3e5); // bool(true) var_dump((bool) array(12)); // bool(true) var_dump((bool) array()); // bool(false)没有成员变量的数组 var_dump((bool) "false"); // bool(true) ?>
整型
<?php $int = 1234;//十进制数 $int = -123;//一个负数 $int = 0123;//八进制数(等于十进制的83) $int = 0x1A;//十六进制数(等于十进制的26) ?>
浮点型(float或double)
<?php $float= 1.234; //这是一个正常的浮点数,也可以使用正负的形式 $float= 1.2e3; //使用科学计数法表示的浮点数,相当于1.2*103即1200 $float = 7E-10; //使用科学计数法表示的浮点数,相当于7*1O-10即0.0000000007 ?>
字符串(String)——单引号
<?php //这是一个使用单引号引起来的简单字符串 echo 'this is a simple string'."<br>"; //在单引号中如果再包含单引号需要使用转义字符(\)转义 echo 'this is a \'simple string'.'<br>'; //只能将最后的反斜杠转义输出一个反斜杠,其他的转义都是无效的,会原样输出 echo 'this \n is \r a \t simple string\\'."<br>"; $str=100; //定义一个整型变量$str,会将变量名$str原样输出,不会解析其值 echo 'this is a simple $str string'; ?>
双引号
<?php $beer = 'eineken'; //定义一个变量名为$beer的变量 echo "$beer's taste is great"."<br/>"; //不可以解析变量$beers,因为“s”在变量名中是有效的,没有$beers这个变量 //echo "He drank some $beers"; //使用{}包含起来,可以将变量分离出来解析 echo "He drank some ${beer}s"."<br/>"; //可以将变请解析,{}的另一种用法 echo "He drank some {$beer}s"; ?>
定界符("<<<")
<?php $string=<<<TTT 李克强强调,反腐倡廉必须坚持全面从严治党,各级领导要坚持“一岗双责”,做到业务工作和廉政建设两手抓、两促进。 国务院相关部门要高度重视和配合做好中央巡视工作,按要求抓好自查自纠,对发现的问题严肃认真整改。 TTT; echo $string; ?>
NULL类型:
(1)将变量直接赋值为NULL(2)声明的变量尚未被赋值(3)unset()函数销毁的变量
<?php $a=NULL; //将变量直接赋值为NULL $b="value"; unset($b); //使用unset()函数销毁变量$b var_dump($a); //将变量直接赋值为NUL,输出NULL var_dump($b); //被unset()函数销毁的变量,输出NULL var_dump($c); //声明的变量尚未被赋值,输出NULL ?>
伪类型:
Mixed:说明参数可以接收多种不同的类型。
Number:说明参数可以是integer或者float。
Callback:可以接收用户自定义的函数作为一个参数。
类型转换
自动类型转换:通常只有四种标量类型(integer、float、string、boolean)才使用自动类型转换。
强制类型转换:在要转换的变量之前加上用括号括起的目标类型。
在括号中允许的强制转换如下所示:
(int):(integer)-转换成整型。
(bool): (boolean)-转换成布尔型。
(float):(double), (real)-转换成浮点型。
(string):转换成字符串„
(array):转换成数组。
(object):转换成对象。
<?php $foo= 10; //$foo 是一个整型 $bar = (boolean)$foo; //$bar 是一个布尔类型 ?>
使用转换函数转换变量的类型。
intval()用于获取变量的整数值,
floatval()用于获取变量的浮点值
strval()用于获取变量的字符串值。
<?php $str = "123.45abc"; //声明一个字符串 $int = intval($str); //获取变量$str的整数值 123 echo $int."<br/>"; $flo = floatval($str); //获取变量$str的浮点值123.45 echo $flo."<br/>"; $str = strval($flo); //获取变量$flo的字符串值"123.45" echo $str; ?>
如果需要将变量本身的类型改变成其他类型,可以使用setType()函数来设置变量的类型。
<?php $foo = "5bar"; // string $bar = true; // boolean settype($foo,"integer"); // $foo现在是5 (integer) echo $foo."<br/>"; settype($bar, "string"); // $bar现在是"1" (string) echo $bar; ?>
常量
<?php //声明一个字符串“Hello World!”的常量CONSTANT define("CONSTANT", "Hello World!"); //声明一字符串常量GREETINQ,常数定义成不区分大小写 define("GREETING","Hello you.",true); echo GREETING."<br/>"; //输出字符串"Hello you."" echo Greeting."<br/>"; //输出字符串"Hello you."" //使用defmed()函数,检查常量CONSTANT是否存在。 if (defined("CONSTANT")) { echo CONSTANT; } ?>