PHP基本语法参考
时间:2010-09-15 来源:netlawe
PHP语言参考
PHP的语法基本上是由C或C++演变而来,因此对于学过C,C++的朋友来说还是比较简单的,在这里我只简单的介绍一下.
1.基本语法
PHP是一种web脚本语言,因此它可以和html代码结合使用,不过通常我们为了代码维护的方 便,一般会把PHP和html代码相分离. PHP的写法有很多种,不过最常用的也是建议用的是下面这种写法: <?php echo "Hello,World!\n": ?> 采用<?php作为PHP代码的开始,然后以?>作为结束. PHP不仅可以在web端执行,它也支持终端执行,甚至在linux下可以象shell脚本一样执行, 此时只需要在程序文件最开始添加:#/usr/bin/php -q (/usr/bin/php为php安装程序 位置),然后给文件添加可执行权限: chmod +x filename,文件的后缀.php在此种情况下 可以不写,执行的时候和执行shell脚本一样:./filename就可以了,因此在对效率要求不高 的情况下,我们也可以使用php来写一些脚本命令.2.类型
PHP支持8种基本类型,PHP为了确保代码的易读性,还添加了一些伪类型. 基本类型包括:布尔型(boolean), interger(整型), float(浮点型,也称为double), string(字符串型),前面这四种是标量类型, array(数组),object(对象),这两种是符 合类型, resource(资源), NULL(NULL),最后这两种是特殊类型. PHP的伪类型有: mixed(可在PHP数组函数中经常看到的返回值类型), number, callback(回调函数),以及伪变量$...3.变量
PHP变量用一个美元符号($)加变量名组成,其变量定义遵从正则表达式: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*' PHP允许未定义变量直接使用(PHP会自动定义),不过通常建议引用前先进行初始化,保证程序 安全. PHP定义了大量的预定义变量,在本文下面我将会介绍到PHP的预定义变量. PHP还有一种独有的可变变量,即一个变量的变量名可以动态的设置和使用.在某些特殊情况下, 这种方式是很方便和适用的.更多妙用大家可以自己体会一下,比如: <?php /*$a的内容是"hello",并且$hello的内容是"world"*/ $a = 'hello'; $$a = 'world'; ?> 注意: 1.在PHP中是区分大小写的。 2.$this在PHP中是一个特殊变量,它不允许被赋值。4.常量
PHP常量定义比较简单,直接使用define()函数定义,常量的名称定义需遵循下面的正则表达式: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* 常量定义格式如下: <?php define("PI","3.1415926"); ?> PHP还有一种特殊的常量:魔术常量,它们的值会随着在代码中的位置改变而改变,下面简要说明一下 PHP的几个"魔术常量": __LINE__ 文件中的当前行号. __FILE__ 文件的完整路径和文件名. __DIR__ 文件所在的目录. __FUNCTION 函数名称(注意:PHP 5起返回该函数定义时的名称,区分大小写,PHP4时该值总为小写). __CLASS__ 类名称(注意同上) __METHOD__ 类的方法名(PHP 5.0.0新加,返回该方法被定义时的名字) __NAMESPACE__ 当前命名空间的名称(不要问我,我暂时也还没通过,不过我想应该是类似java的package 和c#的namespace吧)5.表达式
表达式是任何一种语言的基础,只要接触过编程的人都知道,PHP表达式基本类似C,C++.我简要说一下需要 注意的几点(对其他语言也适用): 1.注意"="和"=="的区分,"="为赋值,"=="为判断,经常会有人将"="和"=="用混了,然后在调试程序时怎 么也发现不了问题,这个即便是编程老手也可能会犯的错误,大家一定要注意了. 2.PHP中也存在三目运算符,学过C语言的人都知道. 其他我就不多说了,有问题可以联系我进行交流.6.运算符
PHP的运算符与其他语言没什么太大区别,这里就不再多说了,唯一需要注意的就是不要把各运算符的 优先级搞错了.7.控制结构
PHP的程序控制结构与其他语言相同,就是些条件判断,wile/for循环,分支等内容,它还有几个自己特有的 包含函数,用于保护其他的函数文件,类似C语言中的include. PHP的包含函数有require,include,require_once,include_once 具体它们之间的区别,可参考我前面发的一篇文章: 一份超级全面的PHP面试题及答案8.函数
PHP函数基本上与其他语言没有太大差别,这里只简要介绍一下其独有特性. 1.函数中的函数 <?php function foo() { function bar() { echo "I don't exist until foo() is called.\n"; } } /*现在不能调bar()函数,因为其还不存在*/ foo(); /*现在可以调用bar()函数了,因为foo()函数执行使得bar()函数变为已定义函数*/ bar(); 2.PHP函数的参数支持两种传递方式:按值传递参数(默认)和通过引用传递参数,具体 使用类似C语言,大家有兴趣可稍后在网上查找学习一下. 3.PHP函数不能返回多个值,不过可以通过返回数组的形式来得到同样的效果;而且PHP函数也可以返回 一个引用,此时必须在函数声明和指定返回值给一个变量时都使用引用操作符号&. 4.PHP还支持可变函数的概念,这个在其他部分语言中也有实现,实际上就是通常用的回调函数,即如果 在一个变量名后有圆括号,PHP将寻找与变量值同名的函数,并尝试执行它.具体有什么用处,大家可以仔 细考虑一下.不过变量函数不能用于语言结构,如echo(),print(),empty(),include()等类似的语 句. 5.PHP能够如此流行,与它拥有大量的函数库是有关系的,正因为有了庞大的函数库做为支撑,才有了它 今天发展的局面,不过默认PHP安装尽包含了一些常用的核心函数库,其他函数库引用时需额外安装其扩 展模块,如使用DES加解密函数就需要安装mcrypt扩展模块,使用image函数就需要添加GD的支持.调用 phpinfo()或get_loaded_extensions()就可以看到PHP加载了那些扩展库,在终端的话直接输入: php -m就可以查看其加载的扩展函数库列表了. 6.PHP还支持匿名函数(Anonymous functions),也叫闭包函数(closures),允许临时创建一个没有 指定名称的函数,最常用做回调函数的参数,这个一般情况下用的比较少,你可以在这里了解到关于匿名 函数的说明: http://docs.php.net/manual/zh/functions.anonymous.php 注意: PHP不支持函数重载,也不可能取消定义或重定义已声明的函数,否则在执行时就会出错. PHP函数应该说是PHP的重中之重了,学习PHP,主要就是学习其各类函数的使用说明,只有掌握了更多的 函数应用,我们对PHP的理解才能更加深入,因此一定要好好学习PHP的函数.9.类与对象
在php5之前虽然也能写PHP类,但那并不是完整意义上的类,在PHP5中引入了新的对象模型 (Object Model), 并完全重写了PHP处理对象的方式,使其性能更佳,功能更强. PHP5中的新特性包括: 可见性,抽象类和final类,类方法,魔术方法,接口,对象克隆和类型提示,如果你学过java 或其他面向对象语言的话,其中某些特性你一定不陌生. 在PHP5当中对象是按引用传递的,即每个包含对象的变量都持有对象的引用,而不是整个对象 的拷贝. 由于PHP的类和对象的内容众多,这里就简单介绍一下,在以后的日子里会有更加详细的说明.10.命名空间(http://docs.php.net/manual/zh/language.namespaces.php)
命名空间我接触的也不多,我大概从概念上介绍一下. 从广义上讲,命名空间实际上是一种封装文件函数的方法,在很多的地方我们都能看到这种抽象 概念,如操作系统的目录,对于目录中的文件来说,目录就扮演了命名空间的角色,在foo1和foo2 目录下分别都存在一个foo.txt文件且内容完全,但因为它们在不同的命名空间下,因此他们都可 以正常存在,但你肯定不能把他们放到一个目录下共存,这种原理应用到程序设计领域就是命名空 间的概念.在java中的package和c#中的namespace实际上也是这种概念.11.异常处理
异常处理是PHP参考C++,Java在其后期版本中引入的概念,PHP的异常处理函数只有在面向对象的 扩展中才会使用,其内部函数还是注意使用错误报告.12.预定义变量
PHP提供了大量的预定义变量,供我们调用,使用它们将会很方便我们在程序之间的数据传输和共享 ,下面简要介绍一下各个预定义变量. $GLOBALS 引用全局作用域中可用的全部变量 $_SERVER 服务器和执行环境信息 $_GET HTTP GET变量 $_POST HTTP POST变量 $_FILES HTTP文件上传变量 $_REQUEST HTTP Request变量 $_SESSION Session变量 $_ENV 环境变量 $_COOKIE HTTP Cookies $php_errormsg 前一个错误信息 $HTTP_RAW_POST_DATA 原生POST数据 $http_response_header HTTP响应头 $argc 传递给脚本的参数数目 $argv 传递给脚本的参数数组PHP的基本语言参考简单先介绍到这里,其实还有一些暂时未提到,如预定义异常,引用的解释及预定义接口的概念,这些相对初学者来说,其实可以先不用掌握,等逐步的学习一段时间后再慢慢接触,否则一开始接触太深入的内容会打消你的积极性的,因此我们可以从简单入手,由易到难,慢慢来.
文章来源:红心草博客
原文地址:http://www.hongxincao.com/archives/270.html
相关阅读 更多 +