1. 李春SEO博客首页
  2. PHP学习笔记

PHP学习笔记之下午学习小结

一、、PHP数据类型之查看和判断数据类型:
如何查看数据类型?
1、gettype(传入一个变量)能够获得变量的类型
2、var_dump(传入一个变量)输出变量类型和值
例如:

<?php

$lichun=’www.lichunseo.com’;
$sj=111;

echo gettype($lichun);
echo
“</br>分割</br>”;
echo gettype($sj);
echo “</br>分割</br>”;
echo var_dump($sj);
echo
“</br>分割</br>”;
echo var_dump($lichun);

?>

3、如何判断数据类型?
一般用is_*系列函数进行判断。is_types这一系列的函数,来判断某个东西是不是某个类型。如果是这
个类型返回真,不是这个类型返回假。
is_int 是否为整型:1、2、3、4、5
is_bool 是否为布尔:只有true和false
is_float 是否是浮点:1.11、2.332、4.399
is_string是否是字符串:www.lichunseo.com、李春SEO
is_array 是否是数组:$bl=array(1.1,2,3,4,5,6);
is_object是否是对象:
is_null是否为空:$bl=null;
is_resource 是否为资源:$res = fopen(‘adasfasfasfdsa.txt’,’r’);
is_scalar是否为标量:
is_numeric是否为数值类型:$bl = ‘2’;
is_callable是否为函数:
其中is_*系列函数有个特点,就是如果是这个类型就返回的是真。不是这个数据类型就返回的是假。
注:is_types很好记。is_在前面后面跟类型即可。
变量:整形(int) 、浮点(float)、布尔(bool)、字符串(string)
混合类型:数组(array)、对象(object)
特殊类型:空(null)、资源(resouce)、回调(callback)

二、PHP数据类型之自动转换和强制转换
自动类型转换,就是数据类型在某些情况下,自动会变为其他的类型参与运算。自动类型转换的发生
时机是:运算和判断的时候某些值会自动进行转换。

下面的情况是布尔值判断时的自动类型转换:

1,整型的0为假,其他整型值全为真
2, 浮点的0.0,布尔值的假。小数点后只要有一个非零的数值即为真。
3,空字符串为假,只要里面有一个空格都算真。
4,字符串的0,也将其看作是假。其他的都为真
5,空数组也将其视为假,只要里面有一个值,就为真。
6,空也为假
7, 未声明成功的资源也为假
举例:

<?php
$bl=0;
$pd=$bl;
if($pd){
echo “李春”;
}else{
echo “SEO”;
}
?>

只有标量在运算时会产生以下的自动类型转换:
布尔型(bool)可以转换为整型(int)和浮点型(float)、字符串(string)可以转换为整型(int)
和浮点型(float)。
总结:
布尔值的true参与运算是会变成整型或者浮点的1布尔值的false参与运算是会变成整型或者浮点的0字
符串开始处是整型或浮点类型的字符,会转成对应的类型参与运算。
<?php
$lichunseo=true;//false则为显示的结果是1
echo 1+$lichunseo;
?>

强制类型转换

强制类型转换有三种方式:

1.用后面的三个函数可以完成类型转换,intval()、floatval()、strval()

2.变量前加上()里面写上类型,将它转换后赋值给其他变量

3.settype(变量,类型) 直接改变量本身

强制类型转换时的特点:
1.空转为整型会为整型的0

2.空转为浮点会为浮点的0

3.空转为字符串会为空字符串‘’

4.浮点的123.0转为字符串会为字符串123

5.浮点的123.2转为字符串会为字符串的123.2

6.浮点即使小数点再大,它都会被干掉,会舍掉小数点后面的值

7.如果字符串转为整型的时候,如果数值在前面,会将前面的数值拿出来做为整型的转换值。

8.settype(变量,’null’); 等价于 unset()一个变量

9.$目标变量 = (类型)$操作变量 只会改变目标变量的类型,不会改变原变量的类型,Settype是改
变原值

三、PHP常量和变量之用量限制用户跳过某些文件
常量:就是在某个项目当中不会变的量,我们成为常量。
书写方式: define(常量名,常量值)
1、常量值只能是标量,那就是布尔、整数、浮点数、字符串型的数据是属于标量的。
例如:define(常量名,string) 。 <?php
define(‘LICHUN’,’www.lichunseo.com’);
echo LICHUN;
?>
2、常量名可以小写,但是通常情况下都是大写。
例如:define(LICHUN,常量值)
3、常量名可以不加引号,但是通常加上引号。
例如:define(‘LICHUN’,常量值)
4、在字符串众调用常量的时候,必须引号在外面。
5、常量名建议用字母和下划线。
6、系统内置常量:
常量名 说明
LINE 当前所在的行
FILE 当前文件在服务器的路径
FUNCTIOIN 当前函数名
CLASS 当前类名
METHOD 当前成员方法名
PHP_OS PHP运行的操作系统
PHP_VERSION 当前PHP的版本
TRAIT Trait 的名字,php5.4新加
DIR 文件所在的目录
NAMESPACE 当前命名空间的名称(区分大小写)

defined()函数来做安全机制:

defined()我们来学习这种用法,主是是为了防止其他人绕过安全检查文件。

函数:defined(常量)
功能:向函数的括号后面传入常量,如果常量定义了就返回true,否则返回false

【情景模拟】假设,我们的这套在线电子商城的软件需要付钱,检查是否付费是通过对软件授权检查
来完成的,而文件version.php中就有检查授权的功能,我们在软件中规定,没有授权检查文件
version.php就不能使用这个软件。所有的代码都包含了version.php。并且为了防止有人盗版,我还
可以把version.php的代码进行了加密。

我们有两个文件:

1.一个文件中间有版本号,版本声明和授权声明。文件名为version.php

2.一个文件中有具体的业务功能。例如:用户注册、登陆等,文件名为users.php

我们该怎么做呢?——也就是说不包含 version.php文件就不让,执行users.php之后的代码。

函数:include(‘传入文件路径和文件名’)
功能:这个函数的功能是传入指定路径的文件,让PHP包含进来执行

四、PHP常量和变量之可变变量(变量的变量)

可变变量其实就是,已声明的变量前,再上变量符。
<?php
$lcseo=’lichunseo’;
$lichunseo=’李春SEO博客’;
echo $$lcseo;
?>
上面的过程说明:$lcseo的值为字符串的’lichunseo’。我在$lcseo前再加上一个$(美元符号),可以理
解成为以下的变形过程:

$$lcseo
${$lcseo} 分成两块来看
${‘lichunseo’} 把变量$lcseo解释成了lichunseo
$lichunseo 而$lichunseo也是一个变量对应的值是:李春SEO博客
举例:
<?php
$lcseo=’lichunseo’;
$lichunseo=’sjzseo’;
$sjzseo=’web’;
$web=’wangzhan’;
$wangzhan=’
网站’;
echo $$$$lcseo;
?>

原创文章,作者:lichun,如若转载,请注明出处:http://www.lichunseo.com/phpxuexi/2817.html