Blogger Information
Blog 7
fans 0
comment 0
visits 4693
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量的类型,检测和作用域——0412
李昊文叔叔的博客
Original
759 people have browsed it

1.输出字符:echo;print( );vam_dump( ).


$a=你好;
	echo $a.'<br>';
	print ($a);
	echo '<br>';
	var_dump($a);

UTC2(6NLW9RJM)7F)%TNV96.png

运行实例 »

echo和print还有var_dump( ),var_dump输出 变量类型(字节长度)都用于输出,echo一次可以输出多个值,如echo $a, $b, $c,而print是一个函数,只能输出一个值,且print有返回值,成功输出返回1,失败返回0;此外print_r( )和var_dump( )用于输出数组和对象(echo不能输出对象),但var_dump返回表达式的类型与值而print_r仅返回结果,相比调试代码使用var_dump更便于阅读。

2.变量的类型

变量类型分为8种类型 分别是4种标量(int-整数,float-浮点数,bool-布朗型,string-字符串型),2种复合类型(array-数组,object-对象)还有2种特殊类型(resource-资源型,null-空类型)

变量类型的检测 判断和设置

变量类型的查询:gettype($变量),如:echo gettype($a); 会输出$a的变量类型(string)

变量类型的检测:is_变量类型;如 is_string( $a);8种变量,有8个函数判断,此函数将会返回一个布尔型值,var_dump( is_string($a )); 将输出:bool(true)

变量类型的转换:变量类型的转换分为3种:强制转换,临时转换,永久转换,其中强制转换也是一种临时转换

强制转换:(需要转换的变量类型)$变量(例:(int)$a;),即变量前面加需要转换的类型;2.临时转换,仅转换值,类型不变(例:intval($a));3.永久转换(settype(变量名,类型标识符));

实例

<?php
$a=100.15;
echo gettype($a);//获取a的变量类型 为小数型
echo '<hr>';
echo (int)$a;//将a转换为整数型,将输出100;
echo '<hr>';
echo '变量a的数值是:'.$a.'类型为'.gettype($a).'<br>';//将输出变量a的数值是:100.15类型为double,所以强制转换只转换那一个时刻的值,为临时转换
//强制转换
echo '<hr>';
$b=1500.45;
settype($b,integer);
echo $b.'<br>';
echo var_dump(is_float($b));

运行实例 »

点击 "运行实例" 按钮查看在线实例

P$F7{}TNFGT)A7U{Y8FFBVF.png

3.isset(),is_null(),empty()的区别

is_null()返回true的情况:变量不存在(未声明变量),变量未赋值(仅声明变量 $a;)或者值为null($a=null;)的情况下,is_null才会返回ture,其他情况都返回flase;

isset()是is_null的相反操作,变量存在且不为null,则返回ture

empty()返回ture的情况:空字符串($a="");空数组;null;0/'0'/false

Y[QYZ}AY4B653[[S[E[XGA1.png

总结:null:is_null判断   空:empty判断  空或非空:isset判断

对于为声明的变量,只能用isset(判断有无)判断,对于已声明的变量,用empty(判断是否非空),对是否初始化,用is_null(判断null)判断。


作用域:变量的作用范围:全局变量,局部变量,静态变量(仅在函数中使用)。

函数的声明:function 函数名(参数){代码}

函数表达式:$变量=function(参数){代码}

函数内不能直接使用全局变量,若需要使用,用global+变量即可使用

实例

<?php
$a=100;
function sub(){
	$b=$a + 5;
	global $a;
	$c=$a + 5;
	return('b的值是:'.$b.',c的值是'.$c.'.<br>');
}
echo sub();

运行实例 »

点击 "运行实例" 按钮查看在线实例

FH@)5]0D}`YGDH{P~~VTU`0.png

A79FF686B97635DFA82CABD70D3A8947.png先写一遍。。今天上班太忙了 剩下的晚上补

Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post