敖汉每集博客word...吧 关注:9贴子:63
  • 0回复贴,共1

零基础学习PHP-5变量详解

只看楼主收藏回复

每集手把手教你学习PHP-5变量
一、变量的类型
1、整型、浮点型、字符串型、布尔型、数组型、对象、NULL、资源
除了NULL以外,其它的类型我们都接触过,这里简单的介绍下NULL。
null是指没有值,也没有类型 。这个字符串只有一个值。
$a = null;
2、isset()变量是否存在检测
$a = ‘set’;
if(isset($b)) {
echo ‘变量b存在’;
} else {
echo ‘变量b不存在’;
}
我们用isset()这个函数来检测一个变量是否存在.上面的程序就会输出’变量b不存在’,因为我们没有声明变量b。只声明了变量a。
我们再来个测试:
$b = null;
if(isset($b)) {
echo ‘变量b存在’;
} else {
echo ‘变量b不存在’;
}
那么这段程序会输出什么呢?因为$b = null; 所以虽然赋值了变量b,但是因为变量b为null,所以用isset()检测还是输出’变量b不存在’。
那么再看下面的测试:
$b = ”;
if(isset($b)) {
echo ‘变量b存在’;
} else {
echo ‘变量b不存在’;
}
大家猜猜会输出什么?这个当作作业留给大家,我会再下节课给大家答案。大家做这么两个作业:
A、$b = ”;把一个空的字符串赋值给变量b,用isset检测的结果。
B、$b = 0 ;把零赋值给变量b,用isset检测的结果。
给大家上个测试结果的图:

第三个结果我隐藏了,大家自己去试试揭晓答案。
3、gettype()变量类型判断。
我们怎么来判断呢?很简单,看我写下面的程序代码:
$a = ‘1’;
echo gettype($a);
这就是判断变量类型的写法。上面的例子是把一个字符串型的数字1赋值给了变量给,我们用echo来输出gettype($a)变量类型。输出结果见下图:

输出了string,也就是字符串型变量的意思。
那我们如果把变量a这么赋值:$a = 1;也就是去掉了双引号,那就是整型变量,也就是说会输出integer.
$a = 1.2;经过检测就会输出浮点型代码,也就是double;
如果$a=null;经过检测就会输出null类型,也就是null;
如果$a=false;经过检测就会输出布尔型,也就是boolean;
4、判断是否为我们想要的类型。
例如:is_int,is_float,is_array…
写法:
$a=’hello’;
if(is_int($a)) {
echo ‘a是整型字符串’;
} else {
echo ‘a不是整型字符串’;
}
也就是判断a是不是整型的字符串。
还有其他类型的大家自己去练一练。
二、变量调试
1、变量打印
也就是让我们能在前台看到输出的变量。分为:
echo多用来打印字符串;
print_r多用来打印数组;
var_dump可以用来打印所有类型变量,他可以打印变量的类型及其值。这个功能很方便,比如一个整数输出来后,我们怎么能知道他是整型还是字符串型呢,用这个打印方式就很方便了。
A、echo打印举例:
$a = 2;
echo $a;
这样就会打印出2.那么如果我们把变量a改为其他类型的用echo来打印,比如布尔型的。
$a=true;
echo $a;
这样会输出什么呢?结果是输出1,因为布尔值的true为二进制的真的意思,用echo输出就是1.
如果$a=false;的话,那用echo输出就是空白。
那么我们在用数组来赋值给变量a,比如:
$a = array(1,2,3);
echo $a;
正常应该输出数组才对,但用echo只输出了array,也就是只输出了数组的代号,而没有输出值。
所以这种类型的就不适合用echo来打印了。
B、print_r打印举例
既然数组和布尔型的变量不适合用echo,我们就试试用print_r试试。
$a = array(1,2,3);
print_r($a);
这样就可以输出:Array ( [0] => 1 [1] => 2 [2] => 3 )
而如果用echo输出的话就是:Array
C、var_dump打印举例
不是说var_dump打印方法可以打印出类型和值吗?我们来试试。
$a = 1;
var_dump($a);
正常的话应该是输出int(1),也就是整型数字1.我们看看是不是这样的结果,如图:

结果确实如此。那么我们再来测试一个:
$a = array(1,2,3);
var_dump($a);
输出的结果是什么样的呢?就当给大家留个作业吧。
好的,这节课就到这里,下节课我们继续。
本教程原创作者:mageo,出自每集博客,尊重作者劳动,转载请注明出处:http://www.ql2015.cn,谢谢!


IP属地:内蒙古1楼2015-10-27 17:41回复