龙空技术网

PHP基础及实例

影视轻松享 380

前言:

当前各位老铁们对“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片段