1、 PHP片段四种表示形式。 标准tags: short tags: ?> 需要在php.ini中设置short _open_tag=on,默认是on asp tags: <% %>需要在php.ini中设置asp_tags=on,默认是off script tags: 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) Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.= 5) Automatically Incrementing and Decrementing自动增减操作符: (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) { //code to excute if expression evaluates to true } (2)if(expression) { } else { } (3)if(expression1) { } elseif(expression2) { } else { } 2) swich语句 switch ( expression ) { case result // execute this if expression results in result1 break; case result // execute this if expression results in result2 break; default: // execute this if no break statement // has been encountered hitherto } 3) ?操作符: ( expression )?returned_if_expression_is_true:returned_if_expression_is_false; 4) while语句: (1) while ( expression ) { // do something } (2)do { // code to be executed } while ( expression ); 5) for语句: for ( initialization expression; test expression; modification expression ) { // code to be executed } 6) break;continue 9、 编写函数 1) 定义函数: function function_name($argument1,$argument2,……) //形参 { //function code here; } 2) 函数调用 function_name($argument1,$argument2,……); //形参 3) 动态函数调用(Dynamic Function Calls): function sayHello() { //定义函数sayHello print "hello "; } $function_holder = "sayHello"; //将函数名赋值给变量$function_holder $function_holder(); //变量$function_holder成为函数sayHello的引用,调用$function_holder()相当于调用sayHello ?> 4) 变量作用域: 全局变量: $life=42; function meaningOfLife() { global $life; /*在此处重新声明$life为全局变量,在函数内部访问全局变量必须这样,如果在函数内改变变量的值,将在所有代码片段改变*/ print "The meaning of life is $life "; } meaningOfLife(); ?> 5) 使用static function numberedHeading( $txt ) { static $num_of_calls = 0; $num_of_calls++; print "
$num_of_calls. $txt
"; } numberedHeading("Widgets"); //第一次调用时,打印$num_of_calls值为1 print("We build a fine range of widgets
"); numberedHeading("Doodads"); /*第一次调用时,打印$num_of_calls值为2,因为变量是static型的,static型是常驻内存的*/ print("Finest in the world
"); ?> 6) 传值(value)和传址(reference): 传值:function function_name($argument) function addFive( $num ) { $num += 5; } $orignum = 10; addFive( &$orignum ); print( $orignum ); ?> 结果:10 传址:funciton function_name(&$argument) function addFive( &$num ) { $num += 5; /*传递过来的是变量$num的引用,因此改变形参$num的值就是真正改变变量$orignum物理内存中保存的值*/ } $orignum = 10; addFive( $orignum ); print( $orignum ); ?> 结果:15 7) 创建匿名函数:create_function(‘string1','string2'); create_function是PHP内建函数,专门用于创建匿名函数,接受两个string型参数,第一个是参数列表,第二个是函数的主体 $my_anon = create_function( '$a, $b', 'return $a+$b;' ); print $my_anon( 3, 9 ); // prints 12 ?> 8) 判断函数是否存在:function_exists(function_name),参数为函数名 10、 用PHP连接MySQL 1) 连接:&cOnn=mysql_connect("localhost", "joeuser", "somepass"); 2) 关闭连接:mysql_close($conn); 3) 数据库与连接建立联系:mysql_select_db(database name, connection index); 4) 将SQL语句给MySQL执行:$result = mysql_query($sql, $conn); //增删改查都是这句 5) 检索数据:返回记录数:$number_of_rows = mysql_num_rows($result); 将记录放入数组:$newArray = mysql_fetch_array($result); 例子: // open the connection $cOnn= mysql_connect("localhost", "joeuser", "somepass"); // pick the database to use mysql_select_db("testDB",$conn); // create the SQL statement $sql = "SELECT * FROM testTable"; // execute the SQL statement $result = mysql_query($sql, $conn) or die(mysql_error()); //go through each row in the result set and display data while ($newArray = mysql_fetch_array($result)) { // give a name to the fields $id = $newArray['id']; $testField = $newArray['testField']; //echo the results onscreen echo "The ID is $id and the text is $testField "; } ?> 11、 接受表单元素:$_POST[表单元素名], 如ó$_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、显示分类的完整例子: //connect to database $cOnn= mysql_connect("localhost", "joeuser", "somepass") or die(mysql_error()); mysql_select_db("testDB",$conn) or die(mysql_error()); $display_block = "
My Categories
Select a category to see its items.
"; //show categories first $get_cats = "select id, cat_title, cat_desc from store_categories order by cat_title"; $get_cats_res = mysql_query($get_cats) or die(mysql_error()); if (mysql_num_rows($get_cats_res) <1) { //如果返回记录行数小于1,则说明没有分类 $display_block = "