天天看點

php文法

<strong>變量的定義:</strong>

$v1 = 1;

echo $v1;

<strong>資料類型</strong>

基本資料類型:int, integer, float, double, bool, boolean, string($v10=<<<ABCD 定界符字元串。),

符合資料類型:array, object

特殊資料類型:null, resource

資料類型轉換

自動轉換

強制轉換

常量的定義

define("final name", value);

define("PI", 3.1415);

常量的使用:

$s = PI * 5 * 5;

常量的值隻能使用基本資料類型。常量名全用大寫。

傳值方式

引用傳值

拷貝傳值

比較運算符

“==”模糊等

“===”嚴格等

循環的中斷(同java)

break

continue

函數

定義形式:

function 函數名(形式參數1,形式參數2, 。。。。)

{

    //函數體。。。。

    return value;

}

碰到return,退出函數,回到函數調用點。

function f1($s)

    if($s>5)

    {

        return;

    } else {

         echo $s;

         return;

    }

    $v1 = $s * $s

形式參數的預設值

function f2($a, $b, $c=2)

    $s=$a+$b+$c;

    return $s;

如果有傳實際參數就用實際參數,如果沒有傳則使用預設參數值。

字元串處理————使用函數

substr的用法對比

js中:

var str1 = "abcdefg";

v1 = str1.substr(2,3); 從str1中的第2位置開始取3個。

php中:

$str1 = "abcdefg";

$v1 = substr($str1, 2, 3);  從str1中的第2位置開始取3個。

其他方法詳見手冊

數學計算

詳見手冊

時間處理

擷取時間(同C)

數組(array)

php中,數組也是若幹個資料的有序的排列成為一個整體。php的數組,其“下标”可以是數字,也可以是“字元串”,也可以是混合的。

如果全是數字下标,通常稱為“索引數組”

如果是全是字元下标,則通常稱為“關聯數組”

php中,通常不說“下标”這個概念,而是說“鍵”:鍵名和鍵值

$arr1 = array ( 5,  “abc”,  ‘mm’=>11,  7=>70,  80,  “111”)

數組的周遊:

foreach (數組變量    as     $value)

    循環語句段    //此時$value就是每一個值

// 或者:

foreach (數組變量  as  $key => $value)

    循環語句段      //此時$key是每一個鍵,

// $value是每一個值

變量作用域

php中:“全局”和“局部”是分離的,全局的隻能在全局中用,局部的隻能在局部中用。

不過:我們也可以使用如果如下文法來使全局變量可以在局部環境中使用:

global 變量名; //此句變量名為全局變量,且應該寫在函數内部(局部)

php操作資料庫

連接配接資料庫:

a) mysql_connect("資料庫伺服器名/ip", "登入名/使用者名", "密碼")

設定目前環境:

mysql_query("set names utf8;"); //mysql_query為一個php函數

使用某個資料庫:

mysql_query("use php0506_db;");

執行sql語句(資料庫資料的 增删改):

$result = mysql_query("增删改語句");

if($result == true)

//執行成功之後的提示或其他語句

else

資料庫資料的查詢并顯示資料:

1, 連接配接資料庫伺服器

2, 設定編碼

3, 選擇要操作的資料庫

4, 建構查詢語句:$sql = “select * from liuyanbiao”;

5, 執行查詢并傳回結果:$rs = mysql_query($sql);

6, 判斷$rs, 如果為真:

a)擷取資料行數:$len = mysql_num_rows($rs);

b)for循環讀取資料:$arr = mysql_fetch_array( $rs );

i. 顯示資料: echo $arr[‘字段名’];

7, 判斷$rs,如果為假:表示selec語句執行失敗。

php項目介紹流程介紹:

界面設計(美工) --> 網頁制作(前端工程師) --> 編碼實作(後端工程師) --> 測試(測試工程師)--> 傳遞,營運維護。

php的其他知識:

php中轉到别的頁面:header("location:index.php"); //這裡是轉到index.php

擷取mysql的出錯資訊(如果有的話): $str = mysql_error()

擷取結果集的行數: mysql_num_rows( 結果集名 );

引入其他檔案: require (“其他檔案名”);

網站資料送出/傳遞方式

post、get

post方式:

<form action=”檔案名” method=”post”>

。。。。。。。。。。。。。。

</form>

post方式擷取資料: $_POST[‘表單項的name值’]

get方式一:通過表單:

<form action=”檔案名” method=”get”>

get方式擷取資料: $_GET[‘表單項的name值’]

get方式二:通過連結:

<a href=”檔案名?name1=值1&name2=值2……” >文字</a>

這裡,name1,name2等等隻是一個資料項的名字,跟表單項類似(表單項的名字使用name屬性)

例:

<a href=”abc.php?n=123” >go1</a>

<a href=”abc.php?kk=123&nn=abc” >go2</a>

<a href=”abc.php?myname=123&pp=abc&x1=xyz” >go3</a>

<a href="http://tuan.360.cn/?fname=hao_cai1_tuan_tuangou&eee=hao_cai1_tuan_tuango">團購促銷</a>

get方式擷取資料: $_GET[‘資料項名’]

php标簽

Php是一門嵌入式,意味着代碼的混編檔案,需要将php代碼從其他代碼中差別出來,就有了php的标簽。

種類:4種。

标準标記

<?php ?>

<script language=”php”>

</script>

相容标記

<? ?>短标記

<% %>asp風格

不是預設支援的,需要修改配置

删除一個變量:

Php的内置函數 unset()可以删除一個變量。

可變變量

一個變量的變量部分($後面的部分),可以由另外一個變量來充當:

$name = "hello";

$hello = 'world';

echo $$name;

world

php的八種資料類型

整型

浮點

布爾

字元串

數組

對象

資源

NULL

定界符:Heredoc

<<<标簽

字元串内容

标簽;

$s1 = <<<STR

hello

STR;

定界符:nowdoc

<<<'标簽'

$s4 = <<<'STR'

兩種定界符的差別:

Nowdoc不能解析内部的變量,而heredoc可以解析變量:

浮點數(雙精度)的理論最大值是:

1.8E+308

類型的變量中常用的函數

var_dump();輸出變量的資訊(類型,值,長度)

unset();删除一個變量,删除一個數組元素,甚至删除對象的屬性。

lsset();判斷一個變量是否存在,一個數組元素,一個對象屬性是否存在。一個值是否為null。

empty();判斷一個變量是否是空值。(0,‘’,array(),0.0, null都算什麼都沒有) 了解成 (bool) data 的反義詞empty(data)

Isset和empty的好處,在處理一個沒有定義的變量時,不會報告一個notice級别的錯誤:

PHP中的替代文法

替代流程控制中的{},使用:替代{}

if(10>20):

    echo 'yes';

else:

    echo 'no';

endif;

替代語句,不單單适用于if,switch,for,while。Foreach,都有相應的替代文法。

替代文法,常見于html和php的混編檔案内。

如果隻有一條語句,可以省略兩端的大括号!如:

if(10>20)

分開寫的:else if

else {

    if

相當于,else語句中由于隻有if語句而省略了語句快的大括号的。邏輯上與elseif一緻。

$score = 87;

if($score >= 90):

    echo 'A';

elseif($score >= 60):

    echo 'B';

    echo 'C';

替代後的:

    if($score >= 60):

        echo 'B';

    else:

        echo 'C';

    endif;

檔案的加載

在一個php檔案中,加載另一個php檔案到目前代碼中。

include './header.php';

檔案載入的文法:

include,require,include_once,require_once。

以上四個載入結構,功能一緻。但是會有細節差別。

本文轉自ting2junshui51CTO部落格,原文連結:http://blog.51cto.com/ting2junshui/1729674 ,如需轉載請自行聯系原作者