1、PHP片段四种表示形式。 @H_5020@标准tags:<?php?> @H502_0@shorttags:<??>需要在PHP.ini中设置short_opentag=on,默认是on @H502_0@asptags:<%%>需要在PHP.ini中设置asptags=on,默认是off @H5020@scripttags:<scriptlanguage=”php”> @H502_0@2、PHP变量及数据类型 @H_502_0@1)$variable,变量以字母、开始,不能有空格 @H5020@2)赋值$variable=value; @H502_0@3)弱类型,直接赋值,不需要显示声明数据类型 @H_5020@4)基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组) @H502_0@5)特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量) @H_5020@3、操作符 @H5020@1)赋值操作符:= @H5020@2)算术操作符:+,-,*,/,%(取模) @H5020@3)连接操作符:.,无论操作数是什么,都当成String,结果返回String @H5020@4)CombinedAssignmentOperators合计赋值操作符:+=,*=,/=,-=,%=,.= @H502_0@5)AutomaticallyIncrementingandDecrementing自动增减操作符: @H_5020@(1)$variable+=1<=>$variable++;$variable-=1<=>$variable-,跟c语言一样,先做其他操作,后++或- @H5020@(2)++$variable,-$variable,先++或-,再做其他操作 @H5020@6)比较操作符:==(左边等于右边),!=(左边不等于右边),===(左边等于右边,且数据类型相同),>=,>,<,<= @H5020@7)逻辑操作符:||óor,&&óand,xor(当左右两边有且只有一个是true,返回true),! @H5020@4、注释: @H5020@单行注释://,# @H5020@多行注释:/**/ @H5020@5、每个语句以;号结尾,与java相同 @H502_0@6、定义常量:define(“CONSTANSNAME”,value) @H5020@7、打印语句:print,与c语言相同 @H5020@8、流程控制语句 @H5020@1)if语句: @H5020@(1)if(expression) @H5020@{ @H5020@//codetoexcuteifexpressionevaluatestotrue @H5020@} @H5020@(2)if(expression) @H5020@{ @H5020@} @H5020@else @H5020@{ @H5020@} @H5020@(3)if(expression1) @H5020@{ @H5020@} @H5020@elseif(expression2) @H5020@{ @H5020@} @H5020@else @H5020@{ @H5020@} @H5020@2)swich语句 @H5020@switch(expression) @H5020@{ @H5020@caseresult @H5020@//executethisifexpressionresultsinresult1 @H5020@break; @H5020@caseresult @H5020@//executethisifexpressionresultsinresult2 @H5020@break; @H5020@default: @H5020@//executethisifnobreakstatement @H5020@//hasbeenencounteredhitherto @H5020@} @H5020@3)?操作符: @H502_0@(expression)?returned_if_expression_is_true:returned_if_expression_isfalse; @H5020@4)while语句: @H5020@(1)while(expression) @H5020@{ @H5020@//dosomething @H5020@} @H5020@(2)do @H5020@{ @H5020@//codetobeexecuted @H5020@}while(expression); @H5020@5)for语句: @H5020@for(initializationexpression;testexpression;modificationexpression){ @H5020@//codetobeexecuted @H5020@} @H5020@6)break;continue @H502_0@9、编写函数 @H_502_0@1)定义函数: @H_502_0@functionfunctionname($argument1,$argument2,……)//形参 @H5020@{ @H5020@//functioncodehere; @H5020@} @H502_0@2)函数调用 @H_502_0@functionname($argument1,……);//形参 @H502_0@3)动态函数调用(DynamicFunctionCalls): @H_5020@ @H5020@ @H5020@
"; @H5020@} @H502_0@$function_holder="sayHello";//将函数名赋值给变量$functionholder @H502_0@$function_holder();//变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello @H_5020@?> @H5020@ @H5020@ @H5020@4)变量作用域: @H502_0@全局变量: @H_5020@ @H5020@ @H5020@
"; @H5020@} @H5020@meaningOfLife(); @H5020@?> @H5020@ @H5020@ @H5020@5)使用static @H5020@ @H5020@ @H5020@
$num_ofcalls.$txt
"; @H5020@} @H502_0@numberedHeading("Widgets");//第一次调用时,打印$num_ofcalls值为1 @H5020@print("Webuildafinerangeofwidgets"); @H
502_0@numberedHeading("Doodads");/第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的/ @H_5020@print("Finestintheworld"); @H
5020@?> @H5020@ @H5020@ @H5020@6)传值(value)和传址(reference): @H502_0@传值:functionfunctionname($argument) @H5020@ @H5020@ @H5020@"; @H5020@} @H5020@?> @H502_0@11、接受表单元素:$POST[表单元素名], @H502_0@如<inputtype=textname=user>ó$POST[user] @H502_0@接受url中queryString中值(GET方式):$GET[queryString] @H502_0@12、转向其他页面:header("Location:http://www.samspublishing.com"); @H_5020@13、字符串操作: @H5020@1)explode(“-”,str)óJava中的splite @H502_0@2)strreplace($str1,$str2,$str3)=>$str1要查找的字符串,$str2用来替换的字符串,$str3从这个字符串开始查找替换 @H502_0@3)substrreplace: @H5020@14、session: @H502_0@1)打开session:session_start();//也可以在PHP.ini设置session_autostart=1,不必再每个script都写这句,但是默认为0,则必须要写。 @H502_0@2)给session赋值:$_SESSION[session_variablename]=$variable; @H502_0@3)访问session:$variable=$_SESSION[session_variablename]; @H502_0@4)销毁session:sessiondestroy(); @H502_0@15、显示分类的完整例子: @H_502_0@<?PHP @H_5020@//connecttodatabase @H502_0@$conn=MysqLconnect("localhost","somepass") @H502_0@ordie(MysqLerror()); @H502_0@MysqL_select_db("testDB",$conn)ordie(MysqLerror()); @H502_0@$displayblock="
MyCategories
@H5020@Selectacategorytoseeitsitems.
"; @H5020@//showcategoriesfirst @H502_0@$get_cats="selectid,cat_title,catdescfrom @H502_0@store_categoriesorderbycattitle"; @H502_0@$get_cats_res=MysqL_query($get_cats)ordie(MysqLerror()); @H502_0@if(MysqL_num_rows($get_cats_res)<1){//如果返回记录行数小于1,则说明没有分类 @H_502_0@$displayblock="Sorry,nocategoriestobrowse.
"; @H5020@}else{ @H502_0@while($cats=MysqL_fetch_array($get_catsres)){//将记录放入变量$cats中 @H502_0@$catid=$cats[id]; @H502_0@$cat_title=strtoupper(stripslashes($cats[cattitle])); @H502_0@$cat_desc=stripslashes($cats[catdesc]); @H502_0@$display_block.="<a
href="$_SERVER[PHP_SELF][U1]?cat_id=$cat_id">$cat_title
//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目 @H_502_0@$catdesc"; @H502_0@if($_GET[cat_id]==$cat_id){//选择一个分类,看下面的条目 @H_5020@//getitems @H502_0@$get_items="selectid,item_title,itemprice @H502_0@fromstore_itemswherecat_id=$catid @H502_0@orderbyitemtitle"; @H502_0@$get_items_res=MysqL_query($get_items)ordie(MysqLerror()); @H502_0@if(MysqL_num_rows($get_itemsres)<1){ @H502_0@$displayblock="
Sorry,noitemsin @H5020@thiscategory.
"; @H5020@}else{ @H502_0@$displayblock.="- "; @H
href="showitem.php?item_id=$item_id">$itemtitle @H502_0@($$itemprice)"; @H5020@[U2]} @H502_0@$displayblock.=""; @H5020@} @H5020@} @H5020@} @H5020@} @H5020@?> @H5020@ @H5020@ @H5020@