【常见的开发PHP集成环境】
Wamp:window+Apache+mySql+PHP
Lamp:linux+APache+mySql+php
PHPStudy:
APPServer:
PHP开发首选Linux系统,但是PHP能够友好的兼容支持各种操作系统(Windows,Linux,Unix,MacOS...)
设置PHP文件的编码格式
header("Content-Type:text/html;charset=utf-8");
【PHP标记的种类】
php文件中,如果要使用php语法,必须要将php语言放在标记当中。PHP支持如下四种标记方式;
1.<?php ?>官方写法,也是主流写法,这种写法可以插入HTML任何位置;如果页面中只有PHP语言,推荐省略结束表示'?>'
>>>注,如果页面中,只有PHP语言,推荐省略结束表示'?>'.原因:如果包含结束符号,在导入PHP文件时,会将后面的多余换行导入进去
2.<script language="php"></script>长标记写法,总是可用,但不推荐
3.<? ?>断标记风格。默认不开启,需修改 php.ini文件中"short_open_tag=On"打开。但是由于和XML标记冲突,不推荐用
4.<% %>ASP风格。默认不开启,需修改php.ini文件中"sap_tags=On"打开。由于与ASP,JSP标记冲突,不推荐用
【PHP中的指令分隔符】
1.PHP中的"结构定义语句"(分支,循环,类,函数等{}结尾),不需要使用分号结尾。
2.PHP中的"功能执行语句",不用{}结尾了,必须使用分号结尾。
3.特例:最后结束标签?>前的最后一条语句,可以省略分号。
【PHP中的变量】
1.PHP中的变量,声明与使用必须用$开头
2.PHP是一种弱类型语言,变量其实并不需要声明。可以直接给变量赋任何类型的值;
3.PHP中可以使用连等同时声明多个变量,
eg:num1=num2=num3而不能使用逗号分隔
4.常用变量函数:
unset():删除并释放变量
isset():检测变量是否设置
empty():检测变量是否为空(未设置或者为null都算空)
5.变量的命名:只能有字母数字下划线组成,开头不能是数字。
而且PHP中变量区分大小写,$Name $name是不同的
但是,PHP内置函数或类名不区分大小写!eco Echo 都是有效的!
6.PHP中的数据类型(8种)
4种标准类型:布尔Boolean 整形Integer 浮点型Float/Double 字符串String
2种复合类型:数组Array 对象Object
2种特殊类型: 资源Resource 空null
7.整形的范围:-2^31~(2^31-1),超过这个范围,自动转为浮点型。
【PHP中算false的情况】
1.Boolean false
2.整形 0
3.浮点型0.0
4.字符串"" "0" ("0.0" "000"都算对)
5.空数组
6.空对象仅在PHP4算false.其他版本对象都算true
7.null和尚上未定义的变量
8.所有资源都算对,(除PHP4,所有对象也算对)
【PHP中字符串的声明】
PHP支持的三种方式声明字符串:
①'':单引号
②"":双引号
③<<<(定界符):$str=<<<s(定界标识符)
定界符声明字符串,通过<<<(定界标识符)开始
遇到顶格的定界标识符结束!!!一个空格都不能有!!
定界标识符可以是任意字母,只需要保证开始和结束一致即可
s;(顶格的定界标识符)
④三种声明方式的区别:
a.定界符功能默认与双引号相同。但是定界符中可以放双引号。
b.单引号中,不能解析变量。而双引号,定界符都可以解析变量。
注:双引号解析变量时,需注意变量名后需要字符与其它字符分隔,或者将变量用{}包起来
eg:"hahaha${name}haha" "hahaha{$name}haha"均可
c.单引号中可以放双引号,双引号中可以放单引号,但不能放与自身类型相同的引号
d.单引号中不能使用转义字符(除了单引号本身,转义符本身),双引号中可以使用转义符。
【PHP中的伪类型】
伪类型:并不是一种真实纯在的数据类型。他的存在,仅仅是告诉程序员可以是那种哪些数据类型,常用于撰写帮助文档时时使用
mixed:代表参数可以是多种不同数据类型;
Number:代表参数可以是Integer或者Float;
callback:代表参数可以是一个回调函数
【PHP中数据类型转换】
1.自动类型转换:表示运算的时候,Boolean,Null,string等类型会先自动转为Integer或Float类型
null---0;true---1;false----0;
String 转非数值前的数字,没有的话转为0"123a"--->123 "a123"---0
2.强制类型转换:根据我们的需要,强制将变量转为其它类型变量。
①使用()声明新变量强转:
$新变量=(新类型)$原变量;$str=(String)1;
//新类型,可以使用全拼,也可以缩写
(int),(integer) - 转换成整型
(bool),(boolean) - 转换成布尔型
(float),(double),(real) - 转换成浮点型
(string) - 转换成字符串
(array) - 转换成数组
(object) - 转换成对象
②使用setType()函数强转:
bool setType(mixed var,String type);
第一个表示任何类型变量,第二个参数表示字符串类型的数据类型,返回 Boolean结果
③两种转换区别:
第①种是将转换之后的结果,赋给新变量;
第②种直接修改了原变量的数据类型;
【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():判断是否是有效的函数名
【PHP中的输出语句】
echo "...";输出变量的值
var_dump(num);输出变量的数据类型&值[&一些其他信息]
print_r(arr);专门用于打印数组
【PHP中的常量】
1.常量的定义:bool define(String 常量名,mixed 常量值[,bool 是否区分大小写]);
2.常量的注意事项:
①常量定义,只能使用define()函数;
②常量名,原则上必须使用大写声明。而且不能带$符号($只能是变量)
③常量声明以后,默认全局范围有效。没有作用域之说。
④常量不但不能改,而且不能删!unset,setType等函数均无效
⑤常量默认区分大小写!!!但是,可以在声明常量时,将define第三个参数设为true即可改为不区分大小写;
⑥常量必须使用define()定义后才能使用。如果使用未声明常量,则会将常量名转为常量字符串。但是,会报警告。
var_dump(NUM);-->String "NUM"
⑦常量的值,只能是标量Boolean string Float Integer
3.可以使用echo constant("NUM");读取常量值,注意""!!!
可以使用get_defined_constants(),获取所有已定义常量!!包括系统自定义的N多个常量