php 学习笔记

常用的操作符
    + 加
    - 减
    * 乘
    / 除
    . 连接字符串
    = 变量赋值

声明变量
    <?php  
    // 声明一个整型变量  
    $num = 0;  
    // 声明一个浮点型变量  
    $mount = 0.00;  
    // 声明一个字符型变量  
    $str = '';  
    // 声明一个数组型变量  
    $array = array();  
    // 声明一个对象型变量 Dom假设是一个已经定义的类  
    $obj = new Dom(); 
    // 转换类型  
    $a = (int)$mount;//转换成int型,对应其它几种类型(string),(float)...  
    $a = intval($mount);//同上对应其它几种类型floatval,strval...  
    ?> 

首先PHP的变量都要以$打头,如$str;
PHP有以下几种
    integer 整形
    float 浮点型
    string 字符型
    boolean 布尔 真true,假false
    array 数组
    object 对象


打开新窗体
    <script language=javascript>
    window.open("login.php","LogIn","width=200,heigh=300,toolbar=yes,status=no");
    </script>

    <a href=# οnclick='javascript:window.open("register.htm","Register","width=200,height=300,toolbar=yes,status=no")'>

引用其他页面代码作为本页内容:
    <?php
        require("check.php");
    ?>
   
测试语句执行   
    if (mysql_query($sql)) echo '数据保存成功';
    else  echo "数据保存失败,SQL语句:$sql<BR>错误信息:".mysql_error();
   
连接数据库
        $conn=mssql_connect("Act","sa","123");
        // 选择数据库  
        mssql_select_db("phpTest");  
        $sql="select password from users where name='".$Name."'";
        $result=mssql_query($sql,$conn);//当查询串是添删改时,返回的true,false,是select 时,返回新id,返回false是,非成功执行而无结果,而是查询串有误

$UserPWD=mssql_fetch_object($result)//将查询结果拆分到对象变量,若无结果则为false,取回对象的索引必须为文字而非数字,因为则是对象特性如:

    $UserPWD->password

mssql_close($conn);//关闭连接

mssql_pconnect()//打开长期连接,该函数会先找是否被执行过,若被执行过返回原先id,该函数无法被mssql_close()关闭

mssql_num_rows()//取得返回列的数目

mssql_list_tables(database,con)//返回指定数据库所有数据表名称

mssql_list_fields(database,table,con)//返回指定数据库数据表所有字段

mssql_list_dbs(con)//返回可用数据库

boolean myssql_free_result(int result)//释放返回所占用空间
 
mssql_fetch_row(int result) //返回单列个字段

mssql_fetch_array(int result) //返回数组数据
有一点很重要必须指出,用 mysql_fetch_array() 并不明显 比用 mysql_fetch_row() 慢,而且还提供了明显更多的值。
mysql_fetch_array() 中可选的第二个参数 result_type 是一个常量,可以接受以下值:MYSQL_ASSOC,MYSQL_NUM 和 MYSQL_BOTH。本特性是 PHP 3.0.7 起新加的。本参数的默认值是 MYSQL_BOTH。
如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组。用 MYSQL_ASSOC 只得到关联索引(如同 mysql_fetch_assoc() 那样),用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row() 那样)

mssqlerrno(con)返回错误信息代码

mssqlerror(con)返回错误信息

mssql_drop_db(database,con) //删除数据库

mssql_create_db(databse,con)

mssql_affected_rows(con)//获得最后操作影响的列数,如删除全部数据,会返回0,只有改变数据库的才可以获得,所以select查询无法使用该函数获得函数,需使用mssql_num_rows()

mssql_db_query(database,query,con)

设置cookie
    setcookie("phpbookuid",$Name);

当条件不满足时终止本页后面代码执行
    if($NewPassword!=$ReNewPassword)
        {
            echo "两次输入不一致,请<a href=edit.php>重新输入</a>";
            exit;
        }

获取cookies中的值
    $Name=$HTTP_COOKIE_VARS["phpbookuid"];

implode,explode是常用的将数组和字符串之间转换的函数,
        implode 将数组以一个字符连接成字符串
        explode 使用一个字符串分割另一个字符串

    <?php  
    $array = array('lastname', 'email', 'phone');  
    $result = implode(",", $array);        
    echo $result ; // lastname,email,phone  
    $string = 'jpg|gif|png';  
    $result = explode('|',$string);  
      print_r($result); //array('jpg','gif','png')   print_r()打印数组
      ?> 

**数组
    一个**数组,每个值都是一个数组,保存了教程的信息   
    <?php   
    array (  
      1 =>   
      array (  
        'title' => '入门初学',  
        'level' => 1,  
        'code_id' => 0,  
        'no' => 1,  
      ),  
      2 =>   
      array (  
        'title' => 'Hello World第一步',  
        'level' => 2,  
        'code_id' => 1,  
          );
    ?>
 
为了代码的利用,PHP提供了require,include来包含代码
    require(文件件路径)
    include(文件件路径)
   
require与include的区别在于:
    require不受条件限制都会包含文件,如果文件不存在,为至命错误程序终止
    include受条件限制,如果include在一个if中,如果if条件不成立文件将不会被包含进来,如果文件不存在,错误为警告,程序继续执行
    require_once,include_once,可以让一个文件在一个PHP进程中只被包含一次

// 设定要用的默认时区。自 PHP 5.1 可用  
    date_default_timezone_set('Asia/Chongqing');//中国地区使用  
 
    echo date("Y-m-d H:i:s");//显示当前时间  
 
 
 
// 简单实现时间加减  
    $tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));//明天  
//现在的结果是时间戳,格式化显示,下面相同  
    echo date("Y-m-d H:i:s",$tomorrow);  
    $lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));// 下个月  
    $nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);// 明年  
 
// 返回当前的 Unix 时间戳  
    echo time();  
// 返回当前 Unix 时间戳和微秒数 microtime()  
    function microtime_float()  
    {  
        list($usec, $sec) = explode(" ", microtime());  
        return ((float)$usec + (float)$sec);  
    }  
 
    $time_start = microtime_float();  
 
// Sleep for a while  
    usleep(100);  
 
    $time_end = microtime_float();  
    $time = $time_end - $time_start;//程序执行时间

获得传参
    <?php  
    // 如打开[查看代码执行结果]页面get.php?id=123  
    echo $_GET['id'];//这里输出123,试试修改id=后面的数字  
    ?>
    HTTP GET 变量:$_GET,通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量。
    HTTP POST 变量:$_POST,通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。

// 格式化  
    $str = ' abc  ';  
// 去除左右空格  
    echo trim($str);  
// 去除左空格  
    echo ltrim($str);  
// 去除右空格  
    echo rtrim($str);  
// 换行/n转换成<br />  
    echo nl2br($str);  
 
// 轻换成大写  
    echo strtoupper($str);  
// 转换成小写  
    echo strtolower($str);  
 
    $str2 = '"abc"';  
// 转义字符  
    echo addslashes($str2);  
// 截取部份长度,下面是从第1位(第2个)截取2位长度,如果是多字节文字可以使用mb_substr代替  
    echo substr($str,1,2);  
//取字符长度  
    echo strlen($str);  
// 取某字符串在目标字符串中的位置不存在返回false  
    echo strpos($str,'b');  
// 替换,下面是将$str中的,都替换成/  
    echo str_replace(',','/',$str); 

数组排序,常用的有这几个函数
    sort 对数组排序 按首字母顺序
    asort 对数组进行排序并保持索引关系  即按内容排,对应索引保留
    ksort 对数组按照键名排序 按索引排
    shuffle 将数组打乱

foreach语句

    foreach (array_expression as $value)
    statement
    foreach (array_expression as $key => $value)
    statement
    第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
    第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
    foreach ($fruits as $key => $val) //$fruits是数组,$key是遍历的键名,$val是遍历的值
    {  
            echo "$key = $val<br>";
    } 
   
    <?php  
    $a = array('a'=>'网上','b'=>'朋友','c'=>'其它',);  
    // 这是一个hash数组,我们现在把内容输出  
    foreach ($a as $key => $value) {  
        echo $key . '->' . $value . '<br>';  
    }  
    ?>
    开始运行foreach第一次,这时 $key='a';$value='网上';
    输出后第二次运行 这时 $key='b';$value='朋友';
    输出后第三次运行 这时 $key='c';$value='其它';
    这时数组已经到了尾部,退出循环
    上面代码的结果:
    a->网上
    b->朋友
    c->其它

do-while语句
    <?php  
    $num = 1;  
    do {  
        echo $num.'<br>';  
        $num++;  
    } while ($num<=5);  
    ?> 
注:do while同while类似,不同的是do后的代码先执行再进行判断,所以代码一定会被执行一次

addslashes() 函数在指定的预定义字符前添加反斜杠。

    这些预定义字符是:

    单引号 (')
    双引号 (")
    反斜杠 (/)
    NULL

magic_quotes_gpc
    取得 PHP 环境设定的变数 magic_quotes_gpc (GPC, Get/Post/Cookie) 值。传回 0 表示关闭本功能;传回 1 表示本功能开启。当 magic_quotes_gpc 开启时,所有的 ' (单引号), " (双引号), / (反斜线) and 空字符会自动转为含有反斜线的溢出字符。

全局变量是指可以在程序的任何范围内访问的,比如$_POST, $_GET 等,在函数内部可以访问,在函数外部也可以访问,但普通的函数外定义的变量是不可以在函数内部访问的。比如:
代码:                                                                                                                                                                         
     $GLOBALS['testGlobal'] = '123';                                                     
      $testVar = 'abc';                                                                  
     function showVar()                                                                  
     {                                                                                   
          echo $GLOBALS['testGlobal']; //此行可以显示123,因为这是个全局变量             
     echo $testVar; //此行并不能显示abc,因为函数内部无法访问$testVar这个普通变量。      
      }                                                                                  
     showVar(); //显示 123                                                               
      全局变量并不是指变量可以跨文件访问,跨文件访问PHP是做不到的,要访问另一个文件中定义的变量只能先包含那个文件。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值