• 技术文章 >php教程 >php手册

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

    2016-06-21 09:01:09原创831

    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 result1:

    // execute this if expression results in result1

    break;

    case result2:

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

    1:

    2:

    3: Listing 6.5

    4:

    5:

    6:

    7: function sayHello() { //定义函数sayHello

    8: print "hello
    ";

    9: }

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

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

    12: ?>

    13:

    14:

    4)变量作用域:

    全局变量:

    1:

    2:

    3: Listing 6.8

    4:

    5:

    6:

    7: $life=42;

    8: function meaningOfLife() {

    9: global $life;

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

    10: print "The meaning of life is $life
    ";

    11: }

    12: meaningOfLife();

    13: ?>

    14:

    15:

    5)使用static

    1:

    2:

    3: Listing 6.10

    4:

    5:

    6:

    7: function numberedHeading( $txt ) {

    8: static $num_of_calls = 0;

    9: $num_of_calls++;

    10: print "

    $num_of_calls. $txt

    ";

    11: }

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

    13: print("We build a fine range of widgets

    ");

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

    15: print("Finest in the world

    ");

    16: ?>

    17:

    18:

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

    传值:function function_name($argument)

    1:

    2:

    3: Listing 6.13

    4:

    5:

    6:

    7: function addFive( $num ) {

    8: $num += 5;

    9: }

    10: $orignum = 10;

    11: addFive( &$orignum );

    12: print( $orignum );

    13: ?>

    14:

    15:

    结果:10

    传址:funciton function_name(&$argument)

    1:

    2:

    3: Listing 6.14

    4:

    5:

    6:

    7: function addFive( &$num ) {

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

    9: }

    10: $orignum = 10;

    11: addFive( $orignum );

    12: print( $orignum );

    13: ?>

    14:

    15:

    结果:15

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

    1:

    2:

    3: Listing 6.15

    4:

    5:

    6:

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

    8: print $my_anon( 3, 9 );

    9: // prints 12

    10: ?>

    11:

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

    例子:

    1: 2: // open the connection
    3: $conn = mysql_connect("localhost", "joeuser", "somepass");
    4: // pick the database to use
    5: mysql_select_db("testDB",$conn);
    6: // create the SQL statement
    7: $sql = "SELECT * FROM testTable";
    8: // execute the SQL statement
    9: $result = mysql_query($sql, $conn) or die(mysql_error());
    10: //go through each row in the result set and display data
    11: while ($newArray = mysql_fetch_array($result)) {
    12: // give a name to the fields
    13: $id = $newArray['id'];
    14: $testField = $newArray['testField'];
    15: //echo the results onscreen
    16: echo "The ID is $id and the text is $testField
    ";
    17: }
    18: ?>

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

    ó$_POST[user]

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

    12、转向其他页面:header("Location: http://www.webjx.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、显示分类的完整例子:

    1:

    2: //connect to database

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

    4: or die(mysql_error());

    5: mysql_select_db("testDB",$conn) or die(mysql_error());

    6:

    7: $display_block = "

    My Categories

    8:

    Select a category to see its items.

    ";

    9:

    10: //show categories first

    11: $get_cats = "select id, cat_title, cat_desc from

    12: store_categories order by cat_title";

    13: $get_cats_res = mysql_query($get_cats) or die(mysql_error());

    14:

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

    16: $display_block = "

    Sorry, no categories to browse.

    ";

    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 .= "

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

    26:
    $cat_desc

    ";

    27:

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

    29: //get items

    30: $get_items = "select id, item_title, item_price

    31: from store_items where cat_id = $cat_id

    32: order by item_title";

    33: $get_items_res = mysql_query($get_items) or die(mysql_error());

    34:

    35: if (mysql_num_rows($get_items_res) < 1) {

    36: $display_block = "

    Sorry, no items in

    37: this category.

    ";

    38: } else {

    39:

    40: $display_block .= "

    ";

    53: }

    54: }

    55: }

    56: }

    57: ?>

    58:

    59:

    60: My Categories

    61:

    62:

    63:

    64:

    65:

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



    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:nbsp gt lt function title
    上一篇:成为PHP高手 学会懒惰地用PHP编程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • php利用新浪接口查询ip获取地理位置• php mysql 数据库类• PHP代码:Http断点续传的实现例子• 聊天室php&mysql(二)• 基于php实现七牛抓取远程图片
    1/1

    PHP中文网