手机
当前位置:查字典教程网 >编程开发 >php教程 >一篇不错的PHP基础学习笔记
一篇不错的PHP基础学习笔记
摘要:1、PHP片段四种表示形式。标准tags:shorttags:需要在php.ini中设置short_open_tag=on,默认是onasp...

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)

{

caseresult

//executethisifexpressionresultsinresult1

break;

caseresult

//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):

<html>

<head>

<title>Listing6.5</title>

</head>

<body>

<?php

functionsayHello(){//定义函数sayHello

print"hello<br>";

}

$function_holder="sayHello";//将函数名赋值给变量$function_holder

$function_holder();//变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello

?>

</body>

</html>

4)变量作用域:

全局变量:

<html>

<head>

<title>Listing6.8</title>

</head>

<body>

<?php

$life=42;

functionmeaningOfLife(){

global$life;

/*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/

print"Themeaningoflifeis$life<br>";

}

meaningOfLife();

?>

</body>

</html>

5)使用static

<html>

<head>

<title>Listing6.10</title>

</head>

<body>

<?php

functionnumberedHeading($txt){

static$num_of_calls=0;

$num_of_calls++;

print"<h1>$num_of_calls.$txt</h1>";

}

numberedHeading("Widgets");//第一次调用时,打印$num_of_calls值为1

print("Webuildafinerangeofwidgets<p>");

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

print("Finestintheworld<p>");

?>

</body>

</html>

6)传值(value)和传址(reference):

传值:functionfunction_name($argument)

<html>

<head>

<title>Listing6.13</title>

</head>

<body>

<?php

functionaddFive($num){

$num+=5;

}

$orignum=10;

addFive(&$orignum);

print($orignum);

?>

</body>

</html>

结果:10

传址:funcitonfunction_name(&$argument)

<html>

<head>

<title>Listing6.14</title>

</head>

<body>

<?php

functionaddFive(&$num){

$num+=5;/*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/

}

$orignum=10;

addFive($orignum);

print($orignum);

?>

</body>

</html>

结果:15

7)创建匿名函数:create_function(‘string1','string2');create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体

<html>

<head>

<title>Listing6.15</title>

</head>

<body>

<?php

$my_anon=create_function('$a,$b','return$a+$b;');

print$my_anon(3,9);

//prints12

?>

</body>

</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);

例子:

<?php

//opentheconnection

$conn=mysql_connect("localhost","joeuser","somepass");

//pickthedatabasetouse

mysql_select_db("testDB",$conn);

//createtheSQLstatement

$sql="SELECT*FROMtestTable";

//executetheSQLstatement

$result=mysql_query($sql,$conn)ordie(mysql_error());

//gothrougheachrowintheresultsetanddisplaydata

while($newArray=mysql_fetch_array($result)){

//giveanametothefields

$id=$newArray['id'];

$testField=$newArray['testField'];

//echotheresultsonscreen

echo"TheIDis$idandthetextis$testField<br>";

}

?>

11、接受表单元素:$_POST[表单元素名],

如<inputtype=textname=user>ó$_POST[user]

接受url中queryString中值(GET方式):$_GET[queryString]

12、转向其他页面:header("Location:http://www.samspublishing.com");

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、显示分类的完整例子:

<?php

//connecttodatabase

$conn=mysql_connect("localhost","joeuser","somepass")

ordie(mysql_error());

mysql_select_db("testDB",$conn)ordie(mysql_error());

$display_block="<h1>MyCategories</h1>

<P>Selectacategorytoseeitsitems.</p>";

//showcategoriesfirst

$get_cats="selectid,cat_title,cat_descfrom

store_categoriesorderbycat_title";

$get_cats_res=mysql_query($get_cats)ordie(mysql_error());

if(mysql_num_rows($get_cats_res)<1){//如果返回记录行数小于1,则说明没有分类

$display_block="<P><em>Sorry,nocategoriestobrowse.</em></p>";

}else{

while($cats=mysql_fetch_array($get_cats_res)){//将记录放入变量$cats中

$cat_id=$cats[id];

$cat_title=strtoupper(stripslashes($cats[cat_title]));

$cat_desc=stripslashes($cats[cat_desc]);

$display_block.="<p><strong><a

href="$_SERVER[PHP_SELF][U1]?cat_id=$cat_id">$cat_title</a></strong>//点击此url,刷新本页,第28行读取cat_id,显示相应分类的条目

<br>$cat_desc</p>";

if($_GET[cat_id]==$cat_id){//选择一个分类,看下面的条目

//getitems

$get_items="selectid,item_title,item_price

fromstore_itemswherecat_id=$cat_id

orderbyitem_title";

$get_items_res=mysql_query($get_items)ordie(mysql_error());

if(mysql_num_rows($get_items_res)<1){

$display_block="<P><em>Sorry,noitemsin

thiscategory.</em></p>";

}else{

$display_block.="<ul>";

while($items=mysql_fetch_array($get_items_res)){

$item_id=$items[id];

$item_title=stripslashes($items[item_title]);

$item_price=$items[item_price];

$display_block.="<li><a

href="showitem.php?item_id=$item_id">$item_title</a>

</strong>($$item_price)";

[U2]}

$display_block.="</ul>";

}

}

}

}

?>

<HTML>

<HEAD>

<TITLE>MyCategories</TITLE>

</HEAD>

<BODY>

<?print$display_block;?>

</BODY>

</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();

?>

【一篇不错的PHP基础学习笔记】相关文章:

一个php作的文本留言本的例子(一)

用PHP代码给图片加水印

微信自定义菜单的处理开发示例

十天学会php之第五天

一个用于MySQL的PHP XML类

虚拟主机中对PHP的特殊设置

PHP安装memcached扩展笔记

最省空间的计数器

一个目录遍历函数

PHP学习之PHP运算符

精品推荐
分类导航