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(变量); 注:变量类型为局部变量,则被销毁;如果变量类型为全局变量,则变量不会被销毁。 实例: 执行结果

标签: 服务器