十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
PHP编码规范
成都创新互联公司主营库伦网站建设的网络公司,主营网站建设方案,重庆APP开发公司,库伦h5小程序设计搭建,库伦网站营销推广欢迎库伦等地区企业咨询每行代码的字符数应控制在80以内
对于只含有PHP代码的文件,将文件结尾标记忽略
缩进应该能都反映出代码的逻辑结果,尽量使用四个空格
数据类型
数据类型是具有相同特性的一组数据的统称
数据类型用来区分不同的数据;由于数据在存储时所需要的容量各不相同,不同的数据就必须要分配不同大小的内存空间来存储,所以就要将数据划分成不同的数据类型。
在PHP中只要涉及到数据的地方都会涉及到数据类型。如变量、函数的参数及返回值、对象的属性等地方都会涉及到数据类型。
PHP支持8种原始数据类型和三种伪类型。
其中原始数据类型包括:
-标量类型(Scalar Type)
boolean(布尔型)
Integer(整型)
float(浮点型)
string(字符串)
-复合类型(Compound Type)
array(数组)
object(对象)
-特殊类型(Special Type)
resource(资源)
NULL(空值)
整型
整型可以使用十进制、十六进制、八进制或者二进制表示
-二进制数字,数字前必须加上0b
-八进制数字,数字前必须加上0
-十六进制数字,数字前必须加上0x
如果向八进制传递了一个非法数字,则后面其余数字都会被省略
整型的存储范围
整型的字长和平台有关
通常大值是大约二十亿(32位有符号)
64位平台下的大值通常是大约9e18
输出语句
输出一个或多个字符串可以通过echo语句实现
echo语句的语法结构
void echo (string $arg1 [,string $...])
如果要给echo传递多个参数,不能使用小括号
所有输出的参数都将转换成字符串类型
如果要打印一个或多个表达式的结构信息,包括表达式的类型与值,可以通过var_dump函数实现。
var_dump函数的语法结构:
void var_dump(mixed $expression [,mixed $...])
var_dump('php'); //输出string(3)“PHP” var_dump(4); //输出int(4)
使用函数
函数是一个被命名的独立代码段。函数用于执行特定任务,并可以给调用它的程序返回一个值。
函数类型有
-系统函数,由PHP核心或特定的函数库提供的函数
-自定义函数,由用户根据需要自定义的函数
调用函数的方法
返回值 函数名([参数,...])
整型溢出
如果数字超出integer的范围,将会被解释为float
如果运算结果超出integer范围,也会返回float
浮点型
浮点型(也叫浮点数float,双精度数double或实数real)
浮点型(float)数据的字长和平台相关
通常大值是1.8e308并具有14位十进制数字的精度
布尔型
布尔型使用关键字TRUE/FALSE表示。两者不区分大小写
布尔值结果通常会被传递给控制流程序语句。
字符型
字符串string就是由一系列的字符组成,其中没个字符等同于一个字节。这意味着PHP只能支持256的字符集,因此不支持Unicode。
string大可以达到2GB。
字符串的表达方式
单引号
双引号
Heredoc语法结构
Nowdoc语法结构
转义符
属性值 | 说明 |
换行 | |
\r | 回车 |
\t | 水平制表符 |
\v | 垂直制表符 |
\f | 换页符 |
\\ | 反斜线 |
\$ | 美元符号 |
\' | 单引号 |
\" | 双引号 |
字符串类型
声明字符创类型变量,然后输出
声明带有转义符的字符串类型变量,然后输出,并且通过查看浏览器源代码查看结果
转义符的引号与HTML实体的引号
PHP代码中引号如果需要直接打印到浏览器,那么双引号/单引号就必须采用HTML实体表示;如果引号需要在浏览器的源代码中出现,那么就必须采用转义符
单引号和双引号的区别
单引号只能解析\'和\\;双引号可以解析所有转义符。
单引号内变量不能被解析;双引号内的变量可以被解析。
建议字符串尽量使用单引号的表示方式。这样可以提高解析速度
花括号语法
The $str is the abbreviation of Application"; echo "I bought an $strle
";结果
The app is the abbreviation of Application
I bought an
当PHP解析器遇到一个美元符号($)时,解析器尽量组合多的标识以形成合法的变量名。可以用花括号来明确变量名称的界线。
正确写法
The {$str} is the abbreviation of Application"; echo "I bought an ${str}le
";string中的字符可以通过一个从0开始的下标,用花括号包含对应的数字的形式来访问和修改。
$str = 'application'; echo $str{4}; //输出i $str{4} = 't'; echo $str{4}; //输出t
用超出字符串长度的下标写入将会拉长该字符串并以空格填充。非证书类型下标会被转换成整数。
Heredoc语法结构
结束时所使用的标识符必须在该行的第一列。
结束标识符这行除分号外,不能包含其他字符。
Heredoc结构可以解析转义符。
Heredoc结构内的变量可以被解析。
Nowdoc语法结构
结束时所使用的标识符必须在该行的第一列。
结束标识符这行除分号外,不能包含其他字符。
Nowdoc结构不进行解析操作
复合类型
允许将多个相同类型的项聚集起来,表示为一个实体。
复合类型可以存储多个数据项
复合类型的分类
数组(Array)
对象(Object)
特殊类型
提供某种特殊用途的类型,无法归入其他任何类型
特殊类型包括
-空值(NULL)
-资源(Resource)
空值
NULL表示一个变量没有值
在下列情况之一的变量被认为是NULL
-没有赋值的变量
-变量赋值为NULL
-使用unset函数销毁的变量
资源
一种特殊的数据类型,用来表示一种PHP的外部资源,例如数据库访问,文件访问、目录操作、图像操作等。
程序员将永远无法直接声明这种类型的变量,必须通过专门的函数访问。
伪类型
本质上来说并不是真正的数据类型
为说明某些情况而“自封”的数据类型,包括:
-混合(mixed)
-数值(number)
-回调函数(callback)
-void
混合
mixed说明参数/返回值可以是多种不同类型
mixed不一定是所有数据类型
例如:gettype()函数可以接收所有类型的参数;str_replace()函数可以接收字符串类型和数组类型的参数。
数值
numbet说明参数/返回值可以是integer或者float
例如:pow()函数可以接受整型或浮点型的参数;并且返回值的数据类型也可能为整数或浮点数。
pow函数用于实现幂运算
语法:number pow(nukber $base,number $exp)
回调函数
回调函数以接受用户自定义的函数作为参数。还可以是一个对象的方法,包括静态类的方法。
void
void作为参数列表意味着函数不接受任何参数
void作为返回类型意味着函数的返回值是无用的
例如:date_default_timezone_get()函数不接受任何参数
date_default_timezone_get()函数用于获取日期时间函数所使用的时区
语法:string date_default_timezone_get(void)
数据类型总汇
变量处理函数
变量处理函数属于PHP核心的组成部分。也就意味这只要Web服务器支持PHP即支持变量处理函数
is_int、is_integer、is_long函数可以检测变量是否是整数
语法:bool is_int(mixed $var)
变量处理函数还包括
is_float、is_double、is_real 检测变量是否为浮点型
is_string 检测变量是否为字符串类型
is_bool、is_boolean 检测变量是否为布尔型
is_scalar 检测变量是否为标量类型
is_arry 检测变量是否为数组
is_object 检测变量是否为对象
is_null 检测变量是否为空值
is_resource 检测变量是否为资源
is_numeric 检测变量是否为数字或数字字符串
is_callback 检测变量是否为回调函数
is_null、empty、isset的区别
is_null函数检测变量是否为NULL。如果为NULL,返回TRUE,否则返回FALSE
语法:bool is_null(mixed $var)
empty函数检测检查一个变量是否为空。如果变量是非空或非零的值,则empty()返回FALSE;否则,返回TRUE
语法:bool empty(mixed $var)
isset函数御用检测变量是否设置,并且不是NULL
语法:bool isset(mixed $var [,mixed $...])
表达式 | gettype($n) | is_null | empty | isset |
$n | NULL | true | true | false |
$n = ""; | string | false | true | true |
$n = null; | NULL | true | true | false |
$n = arrary(); | array | false | true | true |
$n = true; | boolean | false | false | true |
$n = false; | boolean | false | true | true |
$n = "0"; | string | false | true | true |
$n = 0; | integer | false | true | true |
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。