前 言
QianYan
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
1 PHP标记种类 |
php文件中,如果要是用PHP语法,必须要将PHP语言放到标记当中。PHP支持如下四种标记方式:
①<?php ?>这是官方推荐的写法,也是我们主要采用的写法!这种标签可以插入到HTML文档任意位置;
>>>注:如果页面中,只有PHP语言,推荐省略结束标记“?>”
原因:如果包含结束符号,在导入PHP文件时,可能会将文件最后的多余行导入进来
②<script language="php"></script>长标记写法。这种写法,总是可以使用。但是,不推荐;
③<? ?>短标记风格。默认不开启,,需要修改php.ini文件中"short_open_tag=On"打开。但是,由于和XML中的标记冲突,不推荐使用。
④<% %> ASP风格。默认不开启,需要修改php.ini文件中"asp_tags=On"打开。但是,由于和ASP、JSP的标记冲突,不推荐使用。
2 PHP中的变量 |
①PHP中的变量,声明与使用,必须用$开头。
②PHP是一种弱类型语言,变量其实并不需要声明,可以直接给变量赋任何类型的值;
③PHP中可以使用连等同时声明多个变量。 而不能使用,分隔;
eg: $num1=$num2=$num3=5;
④常用变量函数:
unset();删除并释放变量;
isset();检测变量是否设置;
empty();检测变量是否为空(未设置或值为null都算空);
⑤变量的命名:只能由字母、数字、下划线组成,开头不能是数字。
而且,PHP中变量区分大小写! $name $Name $NAME都是不同变量!
但是,PHP内置函数或类名不区分大小写! echo EcHo 都是有效的!
⑥PHP中的数据类型(8种)
4种标量类型: 布尔型Boolean 整形Integer 浮点型Float/Double 字符串String
2种复合类型:数组Array 对象Object
2种特殊类型: 资源Resource 空null
⑦整形的范围: -2^31~(2^31-1),超过这个范围,自动转为浮点型。
3 PHP中算false的情况 |
1、Boolean false
2、整形 0
3、浮点型 0.0
4、字符串 "" "0" ("0.0" "000"都算对!只有一个0算错!)
5、空数组
6、空对象 仅在PHP4算false。其他版本,对象都算true
7、null和尚未定义的变量
8、所以资源都算对!!!(除了PHP4,所有对象也算对!!!)
4 PHP中字符串的声明 |
PHP支持三种方式声明字符串;
①'';
②"";
③<<<(定界符):$str=<<<s(定界标识符)
//定界符声明字符串,通过<<<(定界标识符)开始
//遇到顶格的定界标识符结束!一个空格都不能有!!
//定界标识符可以是任意字母,只需要保证开始和结束一致即可!
s;(顶格的定界标识符)
④三种方式的区别:
a、定界符功能,默认与双引号相同。
b、单引号中,不能解析变量。而双引号、定界符都可以解析变量。
注:双引号解析变量时,需注意变量名后需用空格与其他字符分隔,或者将变量用{}包裹起来。 "haha{$num}haha" "haha${num}haha" 均可!
c、单引号中可以放双引号,双引号中可以放单引号,但是不能放自身相同类型的引号;
d、单引号中不能使用转义字符(除了单引号'本身,转义符本身),双引号中,可以使用转义字符。
5 PHP中的伪类型 |
伪类型:并不是一种真实存在的数据类型。他的存在,仅仅是告诉程序员可以是哪些哪种数据类型,常用于撰写帮助文档时使用;
mixed:代表参数可以是多种不同数据类型;
Number:代表参数可以是Integer或者Float;
callback:代表参数可以是一个回调函数。
6 PHP中的数据类型转换 |
1、自动类型转换:表示运算的时候,Boolean、NULL、String等类型,会先自动转为Integer或Float类型
null--0 true--1 false--0
String转非数值字符之前的数字,没有的话转为0 "123a"--123 "a123"--0
2、强制类型转换:根据我们的需要,强制将变量转为其他类型的变量。
①使用()声明新类型强转:
$新变量=(新类型)$原变量; $str=(String)1;
//新类型,可以使用全拼,也可以使用缩写。 Integer/int Boolean/bool都行
可以强制转换的类型如下:
(int),(integer) - 转换成整型
(bool),(boolean) - 转换成布尔型
(float),(double),(real) - 转换成浮点型
(string) - 转换成字符串
(array) - 转换成数组
(object) - 转换成对象
②使用setType();函数强转:
bool setType(mixed var String type);第一个参数表示任何类型的变量,第二个参数表示字符串类型的数据类型,返回Boolean结果。
③两种转换的区别:
第①种,是将转换之后的结果,赋给新变量;
第②种,直接修改了原变量的数据类型;
7 PHP中判断变量类型的常用函数 |
is_bool():判断是否是布尔型
is_int()、is_integer()和is_long():判断是否为整型。
is_float()、is_double()和is_real():判断是否为浮点型
is_string():判断是否为字符串
is_array():判断是否为数组
is_object():判断是否为对象
is_resource():判断是否为资源类型
is_null():判断是否为null
is_scalar():判断是否为标量
is_numeric():判断是否是任何类型的数字和数字字符串
is_callable():判断是否是有效的函数名