您的位置:首页 > 编程语言 > PHP开发

菜鸟学习:动态网页PHP基础学习笔记

2008-05-01 04:51 731 查看
.Mhl819{display:none;}1、 PHP片段四种表示形式。
标准tags:<?PHP ?>
shorttags:<? ?>需要在PHP.ini中设置short_open_tag=on,默认是on
asptags:<% %>需要在PHP.ini中设置asp_tags=on,默认是off
scripttags:<scriptlanguage=”PHP”></script>
2、 PHP变量及数据类型
1)$variable ,变量以字母、_开始,不能有空格
2)赋值$variable=value;
3)弱类型,直接赋值,不需要显示声明数据类型
4)基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组)
5)特殊数据类型:Resourse(对第三方资源(如数据库)的引用),Null(空,未初始化的变量)
3、 操作符
1)赋值操作符:=
2)算术操作符:+,-,*,/,%(取模)
3)连接操作符:.,无论操作数是什么,都当成String,结果返回String
4)CombinedAssignmentOperators合计赋值操作符:+=,*=,/=,-=,%=,.=
5)AutomaticallyIncrementingandDecrementing自动增减操作符:
(1)$variable+=1<=>$variable++;$variable-=1<=>$variable-,跟c语言一样,先做其他操作,后++或-
(2)++$variable,-$variable,先++或-,再做其他操作
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)
{
caseresult1:
//executethisifexpressionresultsinresult1
break;
caseresult2:
//executethisifexpressionresultsinresult2
break;
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;continue
9、 编写函数
1)定义函数:
functionfunction_name($argument1,$argument2,……)//形参
{
//functioncodehere;
}
2)函数调用
function_name($argument1,$argument2,……);//形参
3)动态函数调用(DynamicFunctionCalls):
1:<html>
2:<head>
3:<title>Listing6.5</title>
4:</head>
5:<body>
6:<?PHP
7:functionsayHello(){ //定义函数sayHello
8: print"hello<br>";
9:}
10:$function_holder="sayHello"; //将函数名赋值给变量$function_holder
11:$function_holder(); //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello
12:?>
13:</body>
14:</html>
4)变量作用域:
全局变量:
1:<html>
2:<head>
3:<title>Listing6.8</title>
4:</head>
5:<body>
6:<?PHP
7:$life=42;
8:functionmeaningOfLife(){
9:global$life;
/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/
10: print"Themeaningoflifeis$life<br>";
11:}
12:meaningOfLife();
13:?>
14:</body>
15:</html>
5)使用static
1:<html>
2:<head>
3:<title>Listing6.10</title>
4:</head>
5:<body>
6:<?PHP
7:functionnumberedHeading($txt){
8: static$num_of_calls=0;
9: $num_of_calls++;
10: print"<h1>$num_of_calls.$txt</h1>";
11:}
12:numberedHeading("Widgets"); //第一次调用时,打印$num_of_calls值为1
13:print("Webuildafinerangeofwidgets<p>");
14:numberedHeading("Doodads"); /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/
15:print("Finestintheworld<p>");
16:?>
17:</body>
18:</html>
6)传值(value)和传址(reference):
传值:functionfunction_name($argument)
1:<html>
2:<head>
3:<title>Listing6.13</title>
4:</head>
5:<body>
6:<?PHP
7:functionaddFive($num){
8: $num+=5;
9:}
10:$orignum=10;
11:addFive(&$orignum);
12:print($orignum);
13:?>
14:</body>
15:</html>
结果:10
传址:funcitonfunction_name(&$argument)
1:<html>
2:<head>
3:<title>Listing6.14</title>
4:</head>
5:<body>
6:<?PHP
7:functionaddFive(&$num){
8: $num+=5; /*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/
9:}
10:$orignum=10;
11:addFive($orignum);
12:print($orignum);
13:?>
14:</body>
15:</html>
结果:15
7)创建匿名函数:create_function(‘string1’,’string2’);create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体
1:<html>
2:<head>
3:<title>Listing6.15</title>
4:</head>
5:<body>
6:<?PHP
7:$my_anon=create_function('$a,$b','return$a+$b;');
8:print$my_anon(3,9);
9://prints12
10:?>
11:</body>
12:</html>
8)判断函数是否存在:function_exists(function_name),参数为函数名
10、用PHP连接MySQL
1)连接:&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);
例子:
1:<?PHP
2://opentheconnection
3:$conn=mysql_connect("localhost","joeuser","somepass");
4://pickthedatabasetouse
5:mysql_select_db("testDB",$conn);
6://createtheSQLstatement
7:$sql="SELECT*FROMtestTable";
8://executetheSQLstatement
9:$result=mysql_query($sql,$conn)ordie(mysql_error());
10://gothrougheachrowintheresultsetanddisplaydata
11:while($newArray=mysql_fetch_array($result)){
12: //giveanametothefields
13: $id=$newArray['id'];
14: $testField=$newArray['testField'];
15: //echotheresultsonscreen
16: echo"TheIDis$idandthetextis$testField<br>";
17:}
18:?>
11、接受表单元素:$_POST[表单元素名],
如<inputtype=text name=user>ó$_POST[user]
接受url中queryString中值(GET方式):$_GET[queryString]
12、转向其他页面:header("Location:http://www.webjx");
13、字符串操作
1)explode(“-”,str)óJava中的splite
2)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、显示分类的完整例子
1:<?PHP
2://connecttodatabase
3:$conn=mysql_connect("localhost","joeuser","somepass")
4: ordie(mysql_error());
5:mysql_select_db("testDB",$conn)ordie(mysql_error());
6:
7:$display_block="<h1>MyCategories</h1>
8:<P>Selectacategorytoseeitsitems.</p>";
9:
10://showcategoriesfirst
11:$get_cats="selectid,cat_title,cat_descfrom
12: store_categoriesorderbycat_title";
13:$get_cats_res=mysql_query($get_cats)ordie(mysql_error());
14:
15:if(mysql_num_rows($get_cats_res)<1){//如果返回记录行数小于1,则说明没有分类
16: $display_block="<P><em>Sorry,nocategoriestobrowse.</em></p>";
17:}else{
18:
19: while($cats=mysql_fetch_array($get_cats_res)){//将记录放入变量$cats中
20:$cat_id=$cats[id];
21:$cat_title=strtoupper(stripslashes($cats[cat_title]));
22:$cat_desc=stripslashes($cats[cat_desc]);
23:
24:$display_block.="<p><strong><a
25:href=/"$_SERVER[PHP_SELF][U1]?cat_id=$cat_id/">$cat_title</a></strong>//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目
26:<br>$cat_desc</p>";
27:
28:if($_GET[cat_id]==$cat_id){//选择一个分类,看下面的条目
29: //getitems
30: $get_items="selectid,item_title,item_price
31: fromstore_itemswherecat_id=$cat_id
32: orderbyitem_title";
33: $get_items_res=mysql_query($get_items)ordie(mysql_error());
34:
35: if(mysql_num_rows($get_items_res)<1){
36: $display_block="<P><em>Sorry,noitemsin
37: thiscategory.</em></p>";
38: }else{
39:
40: $display_block.="<ul>";
41:
42: while($items=mysql_fetch_array($get_items_res)){
43: $item_id=$items[id];
44: $item_title=stripslashes($items[item_title]);
45: $item_price=$items[item_price];
46:
47: $display_block.="<li><a
48: href=/"showitem.PHP?item_id=$item_id/">$item_title</a>
49: </strong>(/$$item_price)";
[U2] 50: }
51:
52: $display_block.="</ul>";
53: }
54:}
55: }
56:}
57:?>
58:<HTML>
59:<HEAD>
60:<TITLE>MyCategories</TITLE>
61:</HEAD>
62:<BODY>
63:<?print$display_block;?>
64:</BODY>
65:</HTML>
16、PHP连接Access

<?
$dbc=newcom("adodb.connection");
$dbc->open("driver=microsoftaccessdriver(*.mdb);dbq=c:/member.mdb");
$rs=$dbc->execute("select*fromtablename");
$i=0;
while(!$rs->eof){
$i+=1
$fld0=$rs->fields["UserName"];
$fld0=$rs->fields["Password"];
....
echo"$fld0->value$fld1->value....";
$rs->movenext();
}
$rs->close();
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: