一篇不错的PHP基础学习笔记

前端之家收集整理的这篇文章主要介绍了一篇不错的PHP基础学习笔记前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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@Listing6.5 @H5020@ @H5020@ @H502_0@<?PHP @H_502_0@functionsayHello(){//定义函数sayHello @H_5020@print"hello
"; @H
5020@} @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@Listing6.8 @H5020@ @H5020@ @H502_0@<?PHP @H_5020@$life=42; @H5020@functionmeaningOfLife(){ @H5020@global$life; @H502_0@/在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变/ @H_5020@print"Themeaningoflifeis$life
"; @H
5020@} @H5020@meaningOfLife(); @H5020@?> @H5020@ @H5020@ @H5020@5)使用static @H5020@ @H5020@ @H5020@Listing6.10 @H5020@ @H5020@ @H502_0@<?PHP @H_5020@functionnumberedHeading($txt){ @H502_0@static$num_ofcalls=0; @H502_0@$num_ofcalls++; @H502_0@print"

$num_ofcalls.$txt

"; @H5020@} @H502_0@numberedHeading("Widgets");//第一次调用时,打印$num_ofcalls值为1 @H5020@print("Webuildafinerangeofwidgets

"); @H502_0@numberedHeading("Doodads");/第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的/ @H_5020@print("Finestintheworld

"); @H5020@?> @H5020@ @H5020@ @H5020@6)传值(value)和传址(reference): @H502_0@传值:functionfunctionname($argument) @H5020@ @H5020@ @H5020@Listing6.13 @H5020@ @H5020@ @H502_0@<?PHP @H_5020@functionaddFive($num){ @H5020@$num+=5; @H5020@} @H5020@$orignum=10; @H5020@addFive(&$orignum); @H5020@print($orignum); @H5020@?> @H5020@ @H5020@ @H5020@结果:10 @H502_0@传址:funcitonfunctionname(&$argument) @H5020@ @H5020@ @H5020@Listing6.14 @H5020@ @H5020@ @H502_0@<?PHP @H_5020@functionaddFive(&$num){ @H5020@$num+=5;/传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值/ @H5020@} @H5020@$orignum=10; @H5020@addFive($orignum); @H5020@print($orignum); @H5020@?> @H5020@ @H5020@ @H5020@结果:15 @H502_0@7)创建匿名函数:create_function(‘string1','string2');create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体 @H_5020@ @H5020@ @H5020@Listing6.15 @H5020@ @H5020@ @H502_0@<?PHP @H_502_0@$my_anon=createfunction('$a,$b','return$a+$b;'); @H502_0@print$myanon(3,9); @H5020@//prints12 @H5020@?> @H5020@ @H5020@ @H502_0@8)判断函数是否存在:function_exists(function_name),参数为函数名 @H_502_0@10、用PHP连接MysqL @H_502_0@1)连接:&conn=MysqLconnect("localhost","joeuser","somepass"); @H502_0@2)关闭连接:MysqLclose($conn); @H502_0@3)数据库与连接建立联系:MysqL_selectdb(databasename,connectionindex); @H502_0@4)将sql语句给MysqL执行:$result=MysqL_query($sql,$conn);//增删改查都是这句 @H_502_0@5)检索数据:返回记录数:$number_of_rows=MysqL_numrows($result); @H502_0@将记录放入数组:$newArray=MysqL_fetcharray($result); @H5020@例子: @H502_0@<?PHP @H_5020@//opentheconnection @H502_0@$conn=MysqLconnect("localhost","somepass"); @H5020@//pickthedatabasetouse @H502_0@MysqL_selectdb("testDB",$conn); @H502_0@//createthesqlstatement @H_502_0@$sql="SELECT*FROMtestTable"; @H_502_0@//executethesqlstatement @H_502_0@$result=MysqL_query($sql,$conn)ordie(MysqLerror()); @H5020@//gothrougheachrowintheresultsetanddisplaydata @H502_0@while($newArray=MysqL_fetcharray($result)){ @H5020@//giveanametothefields @H5020@$id=$newArray['id']; @H5020@$testField=$newArray['testField']; @H5020@//echotheresultsonscreen @H5020@echo"TheIDis$idandthetextis$testField
"; @H
5020@} @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.

"; @H
5020@//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.

"; @H
5020@}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

"; @H
502_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.

"; @H
5020@}else{ @H502_0@$displayblock.="
    "; @H502_0@while($items=MysqL_fetch_array($get_itemsres)){ @H502_0@$itemid=$items[id]; @H502_0@$item_title=stripslashes($items[itemtitle]); @H502_0@$item_price=$items[itemprice]; @H502_0@$display_block.="
  • <a
    href="showitem.php?item_id=$item_id">$itemtitle @H502_0@($$itemprice)"; @H5020@[U2]} @H502_0@$displayblock.="
"; @H5020@} @H5020@} @H5020@} @H5020@} @H5020@?> @H5020@ @H5020@ @H5020@MyCategories @H5020@ @H5020@ @H502_0@<?print$displayblock;?> @H5020@ @H5020@ @H502_0@16、PHP连接Access: @H_5020@<? @H5020@$dbc=newcom("adodb.connection"); @H5020@$dbc->open("driver=microsoftaccessdriver(*.mdb);dbq=c:member.mdb"); @H5020@$rs=$dbc->execute("select*fromtablename"); @H5020@$i=0; @H5020@while(!$rs->eof){ @H5020@$i+=1 @H5020@$fld0=$rs->fields["UserName"]; @H5020@$fld0=$rs->fields["Password"]; @H5020@.... @H5020@echo"$fld0->value$fld1->value...."; @H5020@$rs->movenext(); @H5020@} @H5020@$rs->close(); @H5020@?> @H502_0@

猜你在找的PHP相关文章