您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > PHP5开发实用教程:PHP基本语法
php是什么?PHP是什么?PHP(“PHP:HypertextPreprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合WEB开发。以上是一个简单的回答,不过这是什么意思呢?请看如下例子:例子1-1.一个介绍性的范例htmlheadtitleExample/title/headbody?phpechoHi,I'maPHPscript!;?/body/htmlphp书写规范用来标记PHP代码块的标记共有四套:?php…?scriptlanguage=php.../script上述两种方式总是有效。?…?%…%这两种方式需要在php.ini中去配置才能生效。一般使用第一种方式。示例:?phpecho“fontcolor=red你好,Jwork!/font”echo“ccopen,开源中国”;?php页面的解释Hello.php页面:_______________________________________________htmlheadtitlephp页面/title/headbodyp谁先执行/p?phpecho“fontcolor=red你好,一搏!/font”echo“ccopen,开源中国”;?/bodyapache服务器处理页面的原理:普通的html、javascript、css代码原样输出;php代码,将由php引擎解释,最终输入html代码。一般地,apache对*.htm或者*.html文件,不作php解释,所以将原样输出。所以,在普通的.htm、.html页面中,不能写php代码。Code:codea/hello.phpphp的注释PHP支持‘C’,‘C++’和UnixShell风格的注释。//单行注释/**/多行注释#Unix风格注释/**类的注释方法dfdfdf*/[应该养成注释的习惯,这样能提高代码的可读性,缩短后期维护的时间。]例如:?phpecho“Thisisatest”;//c++风格的单行注释/*Thisisamultilinecommentyetanotherlineofcomment*/echo“Thisisyetanothertest”;echo“OneFinalTest”;#unixshell风格注释?变量@自定义变量基础PHP中一个美元符号后面跟上一个变量名称,即表示一个变量。变量的名称是对大小写敏感的。变量名与PHP中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。?php$var=Bob“;$Var=‘Joe’;echo$var,$Var;//outputsBob,Joe$4site='notyet';//invalid;startswithanumber$_4site='notyet';//valid;startswithanunderscore$t?yte='mansikka';//valid;'洄is(Extended)ASCII228.?Code:1/liang.php1/php_htm.php变量@预定义变量PHP超全局变量$GLOBALS包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的名称。从PHP3开始存在$GLOBALS数组。$_SERVER变量由Web服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组$HTTP_SERVER_VARS数组(依然有效,但反对使用)。$_GET经由HTTPGET方法提交至脚本的变量。类似于旧数组$HTTP_GET_VARS数组(依然有效,但反对使用)。$_POST经由HTTPPOST方法提交至脚本的变量。类似于旧数组$HTTP_POST_VARS数组(依然有效,但反对使用)。$_COOKIE经由HTTPCookies方法提交至脚本的变量。类似于旧数组$HTTP_COOKIE_VARS数组(依然有效,但反对使用)。$_FILES经由HTTPPOST文件上传而提交至脚本的变量。类似于旧数组$HTTP_POST_FILES数组(依然有效,但反对使用)。详细信息请参阅POST方法上传。$_ENV执行环境提交至脚本的变量。类似于旧数组$HTTP_ENV_VARS数组(依然有效,但反对使用)。$_REQUEST经由GET,POST和COOKIE机制提交至脚本的变量,因此该数组并不值得信任。变量@预定义变量PHP服务器变量REQUEST_METHOD获得对应页面方法。如:get、postQUERY_STRING获取对应页面的请求字符串。DOCUMENT_ROOT获得根目录。用法:$_SERVER['QUERY_STRING']变量@作用范围?php$a=1;/*全局变量*///1、写在方法里变量,均视为局部变量,即使用方法外的全局变量同名,也是如此。//2、如果希望在方法里使用方法外的全局变量,可用global来声明。functionTest(){echo$a;/*这里的$a与上面的不是一个,在函数内定义的变量,被视为局部变量*/}Test();?在方法内,欲使用全局变量,需用global来声明:?php$a=1;$b=2;functionSum(){global$a,$b;//使用global,指定了这两个变量为全局的$b=$a+$b;}Sum();echo$b;?结果为:3?phpfunctionSum(){global$b;$b=200;}Sum();echo$b;?结果为:200;变量@$GLOBALS及类型判断使用$GLOBALS替代global?php$a=1;$b=2;functionSum(){$GLOBALS[b]=$GLOBALS[a]+$GLOBALS[b];}Sum();echo$b;?is_array(),is_float(),is_int(),is_object()和is_string()来判断变量的类型,是相应类型,返回true,否则返回false。常量@自定义常量常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间该值不能改变(除了所谓的魔术常量,它们其实不是常量)。常量默认为大小写敏感。按照惯例常量标识符总是大写的。语法可以用define()函数来定义常量。一个常量一旦被定义,就不能再改变或者取消定义。常量只能包含标量数据(boolean,integer,float和string)。常量和变量不同:•常量前面没有美元符号($);•常量只能用define()函数定义,而不能通过赋值语句;•常量可以不用理会变量范围的规则而在任何地方定义和访问;•常量一旦定义就不能被重新定义或者取消定义;•常量的值只能是标量。?phpdefine(CONSTANT,Helloworld.);echoCONSTANT;//outputsHelloworld.echoConstant;//outputsConstantandissuesanotice.?常量@预定义常量PHP向它运行的任何脚本提供了大量的预定义常量,也称为魔术常量。__LINE__文件中的当前行号。__FILE__文件的完整路径和文件名。__FUNCTION__函数名称(这是PHP4.3.0新加的)。__CLASS__类的名称(这是PHP4.3.0新加的)。__METHOD__类的方法名(这是PHP5.0.0新加的)。PHP_VERSION这个是当前PHP的版本,如'3.0.8-dev'。PHP_OSPHP所在的操作系统的名字,如'Linux'。TRUE表示真值(true)。FALSE表示伪值(false)。E_ERROR这个常量指到最近的错误处。E_WARNING这个量数指到最近的警告处。E_PARSE本常量为剖析语法有潜在问题处。E_NOTICE这个常式为发生不寻常但不一定是错误处。例如存取一个不存在的变量。这些E_开头形式的常量,可以参考error_reporting()函式,有更多的相关说明。数据类型PHP支持八种原始类型四种标量类型:•布尔型(boolean)•整型(integer)•浮点型(float)(浮点数,也作“double”)•字符串(string)两种复合类型:•数组(array)•对象(object)两种特殊类型:•资源(resource)•NULL类型@布尔型这是最简单的类型。总计有两个值,可以为TRUE或FALSE。语法要指定一个布尔值,使用关键字TRUE或FALSE。两个都是大小写不敏感的。?php$foo=True;//大小写不敏感?转换为布尔值数值0,0.0、空数组、空字符串,转换为布尔型时,为false;-1和其它非零值(不论正负)一样,被认为是TRUE!?phpechogettype((bool));//bool(false)echogettype((bool)1);//bool(true)echogettype((bool)-2);//bool(true)echogettype((bool)foo);//bool(true)echogettype((bool)2.3e5);//bool(true)echogettype((bool)array(12));//bool(true)echogettype((bool)array());//bool(false)?类型@数值型整型一个integer是集合Z={...,-2,-1,0,1,2,...}中的一个数。语法整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(-或者+)。如果用八进制符号,数字前必须加上0(零),用十六进制符号数字前必须加上0x。例子6-1.整数文字表达?php$a=1234;#十进制数$a=-123;#一个负数$a=0123;#八进制数(等于十进制的83)$a=0x1A;#十六进制数(等于十进制的26)?浮点型?php$a=1.234;$a=1.2e3;$a=7E-10;?类型@字符串1PHP没有给字符串的大小强加实现范围,所以完全没有理由担心长字符串。语法字符串可以用三种字面上的方法定义。单引号双引号定界符单引号支持的转义符少,主要使用双引号。常用的转义符:序列含义\n换行(LF或ASCII字符0x0A(10))\r回车(CR或ASCII字符0x0D(13))\t水平制表符(HT或ASCII字符0x09(9))\\反斜线\$美元符号\双引号\[0-7]{1,3}此正则表达式序列匹配一个用八进制符号表示的字符\x[0-9A-Fa-f]{1,2}此正则表达式序列匹配一个用十六进制符号表示的字符类型@字符串2定界符另一种给字符串定界的方法使用定界符语法(“”)。应该在之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。$str=EODExampleofstringspanningmultiplelinesusingheredocsyntax.EOD;echoEOTMynameis$name.Iamprintingsome$foo-foo.Now,Iamprintingsome{$foo-bar[1]}.Thisshouldprintacapital'A':\x41EOT;code:2/string.php类型@字符串总结1、PHP表示字符串分别有单引号、双引号、定界符三种语法结构。2、单引号和双引号的区别:对于简单的字符串,均可。对于有转义符、插写变量的字符串,不能用单引号;。3、在字符串中写变量的问题:PHP支持以双引号或定界符为标识的字符串中直接书写变量。但要求意以下事项:A、如果为数组类型变量,不能以数组名[“下标”]的形式来写。B、如果变量后面普通字符,如$abcdefg,PHP会认为是新的变量,需用{}括起。{$ab}cdefg4、可以用点(.
本文标题:PHP5开发实用教程:PHP基本语法
链接地址:https://www.777doc.com/doc-3856341 .html