详解php运行环境配置php.ini配置及php基础讲解1、PHP变量及数据类型1)$variable,变量以字母、_开始,不能有空格2)赋值$variable=value;3)弱类型,直接赋值,不需要显示声明数据类型4)基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)PHP片段四种表示形式。标准tags:?php?shorttags:??需要在php.ini中设置short_open_tag=on,默认是onasptags:%%需要在php.ini中设置asp_tags=on,默认是offscripttags:scriptlanguage=”php”/script5)特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)3、操作符1)赋值操作符:=2)算术操作符:+,-,*,/,%(取模)3)连接操作符:.,无论操作数是什么,都当成String,结果返回String4)CombinedAssignmentOperators合计赋值操作符:+=,*=,/=,-=,%=,.=5)AutomaticallyIncrementingandDecrementing自动增减操作符:(1)++$variable,-$variable,先++或-,再做其他操作(2)$variable+=1=$variable++;$variable-=1=$variable-,跟c语言一样,先做其他操作,后++或-6)比较操作符:==(左边等于右边),!=(左边不等于右边),===(左边等于右边,且数据类型相同),=,,,=7)逻辑操作符:||óor,&&óand,xor(当左右两边有且只有一个是true,返回true),!4、注释:单行注释://,#多行注释:/**/5、每个语句以;号结尾,与java相同6、定义常量:define(“CONSTANS_NAME”,value)7、打印语句:print,与c语言相同8、流程控制语句1)if语句:(1)if(expression){//codetoexcuteifexpressionevaluatestotrue}(2)if(expression){}else{}(3)if(expression1){}elseif(expression2){}else{}2)swich语句switch(expression){caseresult//executethisifexpressionresultsinresult1break;caseresult//executethisifexpressionresultsinresult2break;default://executethisifnobreakstatement//hasbeenencounteredhitherto}3)?操作符:(expression)?returned_if_expression_is_true:returned_if_expression_is_false;4)while语句:(1)while(expression){//dosomething}(2)do{//codetobeexecuted}while(expression);5)for语句:for(initializationexpression;testexpression;modificationexpression){//codetobeexecuted}6)break;continue9、编写函数1)定义函数:functionfunction_name($argument1,$argument2,……)//形参{//functioncodehere;}2)函数调用function_name($argument1,$argument2,……);//形参3)动态函数调用(DynamicFunctionCalls):htmlheadtitleListing6.5/title/headbody?phpfunctionsayHello(){//定义函数sayHelloprinthellobr;}$function_holder=sayHello;//将函数名赋值给变量$function_holder$function_holder();//变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello?/body/html4)变量作用域:全局变量:htmlheadtitleListing6.8/title/headbody?php$life=42;functionmeaningOfLife(){global$life;/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/printThemeaningoflifeis$lifebr;}meaningOfLife();?/body/html5)使用statichtmlheadtitleListing6.10/title/headbody?phpfunctionnumberedHeading($txt){static$num_of_calls=0;$num_of_calls++;printh1$num_of_calls.$txt/h1;}numberedHeading(Widgets);//第一次调用时,打印$num_of_calls值为1print(Webuildafinerangeofwidgetsp);numberedHeading(Doodads);/*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/print(Finestintheworldp);?/body/html6)传值(value)和传址(reference):传值:functionfunction_name($argument)htmlheadtitleListing6.13/title/headbody?phpfunctionaddFive($num){$num+=5;}$orignum=10;addFive(&$orignum);print($orignum);?/body/html结果:10传址:funcitonfunction_name(&$argument)htmlheadtitleListing6.14/title/headbody?phpfunctionaddFive(&$num){$num+=5;/*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/}$orignum=10;addFive($orignum);print($orignum);?/body/html结果:157)创建匿名函数:create_function(‘string1’,’string2’);create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体htmlheadtitleListing6.15/title/headbody?php$my_anon=create_function('$a,$b','return$a+$b;');print$my_anon(3,9);//prints12?/body/html8)判断函数是否存在:function_exists(function_name),参数为函数名10、用PHP连接MySQL1)连接:&conn=mysql_connect(localhost,joeuser,somepass);2)关闭连接:mysql_close($conn);3)数据库与连接建立联系:mysql_select_db(databasename,connectionindex);4)将SQL语句给MySQL执行:$result=mysql_query($sql,$conn);//增删改查都是这句5)检索数据:返回记录数:$number_of_rows=mysql_num_rows($result);将记录放入数组:$newArray=mysql_fetch_array($result);例子:?php//opentheconnection$conn=mysql_connect(localhost,joeuser,somepass);//pickthedatabasetousemysql_select_db(testDB,$conn);//createtheSQLstatement$sql=SELECT*FROMtestTable;//executetheSQLstatement$result=mysql_query($sql,$conn)ordie(mysql_error());//gothrougheachrowintheresultsetanddisplaydatawhile($newArray=mysql_fetch_array($result)){//giveanametothefields$id=$newArray['id'];$testField=$newArray['testField'];//echotheresultsonscreenechoTheIDis$idandthetextis$testFieldbr;}?11、接受表单元素:$_POST[表单元素名],如inputtype=textname=useró$_POST[user]接受url中queryString中值(GET方式):$_GET[queryString]12、转向其他页面:header(Location:);13、字符串操作:1)explode(“-”,str)óJava中的splite2)str_replace($str1,$str2,$str3)=$str1要查找的字符串,$str2用来替换的字符串,$str3从这个字符串开始查找替换3)substr_replace:14、session:1)打开session:session_start();//也可以在php.ini设置session_auto_start=1,不必再每个script都写这句,但是默认为0,则必须要写。2)给session赋值:$_SESSION[session_variable_name]=$variable;3)访问session:$variable=$_SESSION[session_variable_name];4)销毁session:session_destroy();15、显示分类的完整例子:?php//connecttodatabase$conn=mysql_connect(localhost,joeuser,somepass)ordie(mysql_error());mysql_select_db(testDB,$conn)ordie(mysql_error());$display_block=h1MyCategories/h1PSelectacategorytoseeitsitems./p;//showcategoriesfirst$get_cats=selectid,cat_title,cat_descfromstore_categoriesorderbycat_title;$ge