1、  PHP片段多样表示情势。
标准tags:<?php           ?>
short tags:<?              ?> 需要在php.ini中设置short _open_tag=on,默认是on
asp tags: <%             %>需要在php.ini中设置asp_tags=on,默认是off
script tags:<script language=”php”></script>
2、  PHP变量及数据类型
1State of Qatar        $variable  ,变量以字母、_起来,无法有空格
2)        赋值$variable=value;
3卡塔尔(قطر‎        弱类型,直接赋值,不需求出示申明数据类型
4卡塔尔(قطر‎        基本数据类型:Integer,Double,String,Boolean,Object(对象或类),Array(数组卡塔尔(قطر‎
5卡塔尔        特殊数据类型:Resourse(对第三方能源(如数据库)的引用),Null(空,未开首化的变量)
3、  操作符
1卡塔尔        赋值操作符:=
2卡塔尔(قطر‎        算术操作符:+,-,*,/,%(取模)
3State of Qatar        连接操作符:. ,无论操作数是何等,都不失为String,结果重回String
4卡塔尔        Combined Assignment Operators合计赋值操作符:+=,*=,/=,-=,%=,.=
5State of Qatar        Automatically Incrementing and Decrementing自动增减操作符:
(1)$variable+=1 <=>$variable++;$variable-=1 <=>$variable-,跟c语言近似,先做任何操作,后++或-
(2)++$variable,-$variable,先++或-,再做其余操作
6State of Qatar        比较操作符:= =(左侧等于左侧),!=(右侧不等于左边),= = =(左边等于左侧,且数据类型相似),>=,>,<,<=
7State of Qatar        逻辑操作符:|| ó 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):
<html>
<head>
<title>Listing 6.5</title>
</head>
<body>
<?php
function sayHello(卡塔尔国 {   //定义函数sayHello
print “hello<br>”;
}
$function_holder = “sayHello”;  //将函数名赋值给变量$function_holder
$function_holder();  //变量$function_holder成为函数sayHello的援引,调用$function_holder(卡塔尔(قطر‎也便是调用sayHello
?>
</body>
</html>
4卡塔尔(قطر‎        变量功用域:
全局变量:
<html>
<head>
<title>Listing 6.8</title>
</head>
<body>
<?php
$life=42;
function meaningOfLife() {
global $life;
/*在这里地重新表明$life为全局变量,在函数内部访谈全局变量必需这么,如若在函数内退换变量的值,将要具备代码片段修正*/
print “The meaning of life is $life<br>”;
}
meaningOfLife();
?>
</body>
</html>
5)        使用static
<html>
<head>
<title>Listing 6.10</title>
</head>
<body>
<?php
function numberedHeading( $txt ) {
static $num_of_calls = 0;
$num_of_calls++;
print “<h1>$num_of_calls. $txt</h1>”;
}
numberedHeading(“Widgets”卡塔尔国;  //第贰回调用时,打字与印刷$num_of_calls值为1
print(“We build a fine range of widgets<p>”);
numberedHeading(“Doodads”);  /*率先次调用时,打字与印刷$num_of_calls值为2,因为变量是static型的,static型是常驻内部存款和储蓄器的*/
print(“Finest in the world<p>”);
?>
</body>
</html>
6)        传值(value)和传址(reference):
传值:function function_name($argument)
<html>
<head>
<title>Listing 6.13</title>
</head>
<body>
<?php
function addFive( $num ) {
$num += 5;
}
$orignum = 10;
addFive( &$orignum );
print( $orignum );
?>
</body>
新澳门31999 ,</html>
结果:10
传址:funciton function_name(&$argument)
<html>
<head>
<title>Listing 6.14</title>
</head>
<body>
<?php
function addFive( &$num ) {
$num += 5;  /*传送过来的是变量$num的援用,因而改造形参$num的值便是当真退换变量$orignum物理内部存款和储蓄器中保存的值*/
}
$orignum = 10;
addFive( $orignum );
print( $orignum );
?>
</body>
</html>
结果:15
7卡塔尔国        创造佚名函数:create_function(‘string1′,’string2′); create_function是PHP内建函数,特地用于创立无名氏函数,选择五个string型参数,第贰个是参数列表,第2个是函数的本位
<html>
<head>
<title>Listing 6.15</title>
</head>
<body>
<?php
$my_anon = create_function( ‘$a, $b’, ‘return $a+$b;’ );
print $my_anon( 3, 9 );
// prints 12
?>
</body>
</html>
8卡塔尔国        推断函数是或不是留存:function_exists(function_name卡塔尔,参数为函数名
10、              用PHP连接MySQL
1)        连接:&conn=mysql_connect(“localhost”, “joeuser”, “somepass”);
2State of Qatar        关闭连接: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);
             例子:
   <?php
   // 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 <br>”;
  }
  ?>
11、              选取表单成分:$_POST[表单成分名],
如<input type=text  name=user>ó$_POST[user]
接受url中queryString中值(GET方式):$_GET[queryString]
12、转向别的页面:header(“Location: “);
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
//connect to database
$conn = mysql_connect(“localhost”, “joeuser”, “somepass”)
or die(mysql_error());
mysql_select_db(“testDB”,$conn) or die(mysql_error());
$display_block = “<h1>My Categories</h1>
<P>Select a category to see its items.</p>”;
//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 = “<P><em>Sorry, no categories to browse.</em></p>”;
} else {
while ($cats = mysql_fetch_array($get_cats_res卡塔尔(قطر‎State of Qatar { //将记录放入变量$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卡塔尔国 { //接纳三个分类,看上面包车型客车条目款项
//get items
$get_items = “select id, item_title, item_price
from store_items where cat_id = $cat_id
order by item_title”;
$get_items_res = mysql_query($get_items) or die(mysql_error());
if (mysql_num_rows($get_items_res) < 1) {
$display_block = “<P><em>Sorry, no items in
this category.</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>My Categories</TITLE>
</HEAD>
<BODY>
<? print $display_block; ?>
</BODY>
</HTML>
16、PHP连接Access:
<?  
$dbc=new com(“adodb.connection”);  
$dbc->open(“driver=microsoft access driver (*.mdb);dbq=c:member.mdb”);  
$rs=$dbc->execute(“select * from tablename”);  
$i=0;  
while (!$rs->eof){  
$i+=1  
$fld0=$rs->fields[“UserName”];  
$fld0=$rs->fields[“Password”]; 
….  
echo “$fld0->value $fld1->value ….”;  
$rs->movenext();  
}  
$rs->close();  
?> 

发表评论

电子邮件地址不会被公开。 必填项已用*标注