前言:
当前各位老铁们对“php片段”都比较关注,同学们都想要分析一些“php片段”的相关内容。那么小编在网摘上搜集了一些有关“php片段””的相关文章,希望看官们能喜欢,我们一起来学习一下吧!一、PHP中的编码规范
1. 表述
在PHP的正常表述中,每一句PHP语句都是以“;”结束。
<?php
echo “php是以分号表示语句的结束和执行。”;
?>
2. 指令分隔符
在PHP代码中,每个语句需要用分号结束。一段PHP代码中的结束标记隐含表示了一个分号,所以在PHP代码中的最后一行可以不用分号结束。、
<?php
echo “这是第一个语句”;
echo “这是第二个语句”;
echo “这是最后一个语句”
?>
3. 空白符
PHP对空格、回车造成的新行、tab等留下的空白的处理遵循编码规范。PHP对他们都进行了忽略。这跟浏览器对HTML语言中的空白处的处理一样。
合理利用空白符可以增强代码的可读性和清晰性。
(1)下列情况总是使用两个空白行:
a) 两个类的声明之间。
b) 一个源文件的两个代码片段之间。
(2)以下情况总是使用一个空白行
a)两个函数声明之间。
b)函数内的局部变量之间和函数的第一个语句之间。
c)块注释和单行注释之前。
d)一个函数内的两个逻辑代码段之间。
(3)空格合理利用,提高代码可读性
a)空格通常使用与关键字与括号之间,但是函数名称与左括号之间不能使用空格分开。
b)函数参数列表中的逗号后面通常会插入空格。
c)for语句的表达式应该用逗号分开,后面添加空格。
4.注释
为增强代码的可读性,我们需要用文字说明,即注释。
a)C语言风格
/*
这是C语言风格的注释
*/
b)C++风格
//这是C++语言风格的注释
c)shell风格
#这是shell语言风格的注释
5. 与HTML语言混合搭配
PHP语言嵌入到HTML文档中
<html>
<head>
<title>php与HTML混合</title>
</head>
<body>
<?php
echo “嵌入的PHP代码”;
?>
</body>
</html>
二、常量
1.声明和使用常量
在PHP中,常量一旦声明就无法改变。
PHP通过define()命令来声明常量,格式:
define(“常量名”,”常量值”);
常量名是一个字符串,通常在PHP的编码规范指导下使用大写英文字母表示,比如CLASS_NAME、MYAGE等。
常量值可以是很多种PHP的数据类型,可以是数组,可以是对象,也可以是字符串和数字。
常量就像变量一样存储数值,但是与变量不同的是,常量的值只能设定一次,并且不能改动,常量声明后具有全局性,在函数内外都可以访问。
实例:定义常量,并输出
输出结果
2.内置常量
PHP内置常量,是PHP在系统建立之初就定义好的一些量。例如:
(1)_FILE_:默认常量是文件的完整路径和文件名。若引用文件(include和require),则在引用文件内的该常量为引用文件名,而不是引用它的文件名。
(2)_LINE_:这个默认常量是PHP程序行数。若引用文件(include和require),则在引用文件内的该常量为引用文件的行,而不是引用它的文件行。
(3)PHP_VERSION:这个内置常量是PHP程序的版本。如7.1.27
(4)PHP_OS:这个内置常量是执行PHP解析器的操作系统名称,如winnt。
(5)TRUE:这个常量是真值。
(6)FALSE:这个常量是假值。
(7)E_ERROR:这个常量指到最近的错误处。
(8)E_WARNING:这个常量指到最近的警告处。
(9)E_PARSE:这个常量指到解析语法有潜在的问题处。
(10)E_NOTICE:这个常量为发生不寻常但不一定是错误处。如,存取一个不存在的变量。
(11)__DIR__:这个常量为文件所在目录。
(12)__FUNCTION__:这个常量为函数的名称。从PHP5开始,此常量返回该函数被定义时的名字,并且区分大小写。
(13)__CLASS__:这个常量为类的名称。从PHP5开始,此常量返回该类被定义时的名字,并且区分大小写。
示例:执行结果是按照以上顺序
执行结果
三、变量
1.PHP中的变量声明
PHP中的变量不同于c或者Java语言,因为它是弱类型语言。
PHP中的变量一般以”$”,作为前缀,然后以字母”a~z”的大小写或者”_”,下划线开头。
合法的变量名:
$hello、$Hello、$_hello等
非法的变量名:
$12hello、$!hello
php中不需要显式的声明变量,但定义变量最好写注释。PHP的赋值有两种,即传值和引用:
(1) 传值赋值:使用“=”直接将赋值表达式的值赋给另一个变量。
(2) 引用赋值:将赋值表达式内存空间的引用赋给另一个变量。需要在“=”左右的变量前面加上一个“&”符号。在使用引用赋值的时候,两个变量将会指向内存中同一个存储空间,所以任意一个变量的变化,都会引起另外一个变量的变化。
实例:
执行结果
2.可变变量与变量的引用
实例说明:
执行结果
注释:1.在代码第一部分,$value被赋值guest。$value0相当于guest,则$$value0相当于$guest。所以当$$value0被赋值为customer时,打印$guest就得到customer。反之,当$guest变量被赋值为feifei时,打印$$value0同样得到feifei,这就是可变变量。
2.在代码的第二部分,$value1被赋值为xiaoming,然后通过”&”引用变量$value1并赋值给$value2.这一步的实质是,给变量$value1添加了一个别名$value2。打印时,大家都得出原始赋值xiaoming。由于$value2是别名,和$value1指的是同一个变量,因此当$value2被赋值lili后,$value1和$value2都得到新值lili。
3.可变变量其实是允许改变一个变量的变量名,允许使用一个变量的值作为另一个变量的名。
4.变量引用相当于给变量添加一个别名,使用”&”来引用变量。其实两个变量名指的都是同一个变量。
3.变量的作用域
指特定变量在代码中可以被访问到的位置。6种基本的变量作用于法则:
(1)内置超全局变量,在代码的任意位置都可以访问到。
(2)常数(constants),一旦声明,就是全局性的,可以在函数内外使用。
(3)全局变量,在代码间声明,可以在代码间访问,但是不能再函数内访问。
(4)在函数中声明为全局变量的变量就是同名的全局变量。
(5)在函数中创建和声明为静态变量的变量在函数外是无法访问的,但是这个静态变量的值可以保留。
(6)在函数中创建和声明的局部变量在函数外是无法访问的,并且在本函数终止时失效。
a) 超全局变量
特性:此变量不管在程序的任何地方都可以访问到,不管是函数内还是函数外。
PHP中定义好的超全局变量:
$GLOBALS:包含全局变量的数组;
$_GET:包含所用通过GET方法传递给代码的变量的数组。
$_POST:包含所有通过POST方法传递给代码的变量的数组。
$_FILES:包含文件上传变量的数组。
$_COOKIE:包含cookie变量的数组。
$_SERVER:包含服务器环境变量的数组。
$_ENV:包含环境变量的数组。
$_REQUEST:包含用户所有输入内容的数组。(包括$_GET、$_POST和$_COOKIE)。
$_SESSION:包含会话变量的数组。
b) 全局变量
全局变量其实就是函数外声明的变量,在代码间可以访问,但是在函数内是不能访问的,这是因为函数默认不能访问在其外部的全局变量。
实例一:
执行结果
出现此情况,是因为函数无法访问外部全局变量,但是代码间可以访问全局变量。
如果让函数访问某个全局变量,可以在函数中通过global关键字来声明。
实例二:
实例三:
也可以使用“超全局变量”中的$GLOBALS数组进行访问。
执行结果
c) 静态变量
静态变量只是在函数内存在,在函数外无法访问。执行后,值保留。也就是说这一次执行完毕后,静态变量的值保留,下一次再执行次函数,这个值还可以调用。
实例:
执行结果
解析:(1)函数外的echo语句无法调用函数内的static $person,它调用的是$person=20;
(2)showpeople()函数被执行两次,这个过程中static $person的运算值得以保留,并且通过$person++进行累加。
4.变量的销毁
当用户创建一个变量时,相应的在内存中有一个空间专门用于存储该变量,该空间引用计数加1。当变量与该空间的联系被断开时,空间引用减1,直到引用计数为0,则成为垃圾。
PHP有自动回收垃圾机制,用户可以手动销毁变量,通常用unset()函数。
语法:void unset(变量);
注:变量类型为局部变量,则被销毁;如果变量类型为全局变量,则变量不会被销毁。
实例:
执行结果
标签: #php片段