引用:http://www.cnblogs.com/confach/category/65968.html
定義變量:
PHP 中的變量用一個美元符號後面跟變量名來表示。變量名是區分大小寫的。例如:
<?php
$var="liqi";
echo $var;
$VAR=&$var; //後面修改VAR值的時。,var也會變
echo $VAR;
$VAR="qianqian";
echo $VAR;
echo $var;
?>
使用 $_GET['id'] 來代替 $id 從 URL http://www.example.com/test.php?id=3 中獲取 id 值,
1 <?php
2 $var=0;
3 function test($index)
4 {
5 global $var;
6 $var=$var+1;
7 echo "The ".$index." number is ".$var."<br>";
8 }
9 test(1);
10 test(2)
11 ?>
當用了global定義全局變量時在給var+1時纔會保留1否則又變爲0
1 <?php
2 $var=0;
3 function test($index)
4 {
5
6 $GLOBALS["var"]=$GLOBALS["var"]+1;
7 echo "The ".$index." number is ".$GLOBALS["var"]."<br>";
8 }
9 test(1);
10 test(2)
11 ?>
和上面的用法一樣結果一樣
靜態變量:
1 <?php
2 function Test()
3 {
4 static $a = 0;
5 echo $a."<br>";
6 $a++;
7 }
8 Test();
9 Test();
10 ?>
<?php
2 $a="hello";
3 $hello="world";
4 echo $a." ".$$a;
5 ?> 輸出的是hello world 後面的$($a)=$hello=world
在PHP必須用下面的方式定義。
bool define ( string name, mixed value [, bool case_insensitive] )
name 爲常量名,value爲常量的值。case_insensitive]爲大小寫敏感。默認爲敏感。例如:
define("CONSTANT", "Hello world.");
常量和變量不同:
-
常量前面沒有美元符號($);
-
常量只能用 define() 函數定義,而不能通過賦值語句;
-
常量可以不用理會變量範圍的規則而在任何地方定義和訪問;
-
常量一旦定義就不能被重新定義或者取消定義;
-
常量的值只能是標量。
-
$arr = array("Hello" => "Word", 12 => true);
echo $arr["Hello"]; // bar
echo $arr[12]; // 1 -
請記住一點:key 可以是整型或者字符串。如果鍵名是一個整型的標準表達方法,取整,如果是float型,轉化爲整型。與之對比,值則可以爲任何值。
?> -
<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));
echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?> -
1 ?php
2 $arr = array(5 => 1, 12 => 2);
3 $arr[] = 56; // 相當於 $arr[13] = 56;
4 //因爲第二個元素的鍵是12
5 $arr["x"] = 42; // 創建一個新元素,且鍵爲字符串
6 //"x",值位42.
7 unset($arr[5]); //刪除鍵位5的元素。
8 unset($arr); // 刪除整個數組
9 //unset()是一函數,從字面的意思上
//看也知道是撤銷設置
10 ?> -
下列情況下一個變量被認爲是 NULL:
-
被賦值爲 NULL。
-
尚未被賦值。
-
被unset()。
-
既然如此,我們如何判斷某個變量爲NULL ,相當的簡單,調用is_null(),如何將某個變量設爲NULL ,一種方法是調用unset().
PHP 有一個類型運算符:instanceof。instanceof 用來測定一個給定的對象是否來自指定的對象類。
instanceof 運算符是 PHP 5 引進的。在此之前用 is_a(),但是 is_a() 已經過時了,最好用 instanceof。
-
PHP 支持一個執行運算符:反引號(``)。
1 <?php
2 $out=`dir c:`;
3 echo '<pre>'.$out.'</pre>';
4 ?>PHP 支持一個錯誤控制運算符:@。當將其放置在一個 PHP 表達式之前,該表達式可能產生的任何錯誤信息都被忽略掉。
<?php
2 $beer = 'Heineken';
3 echo "$beer's taste is great"; // works, "'" is an invalid character for varnames
4 echo "He drank some $beers"; // won't work, 's' is a valid character for varnames
5 echo "He drank some ${beer}s"; // works
6 echo "He drank some {$beer}s"; // works
7 ?>
字符串的整理函數
- chop(),其實就是rtrim().當然rtrim()還是可以用的
- ltrim(),去掉字符串左邊的多於空格。
- trim(),這個比較比較簡單,就是把字符串左右2邊的空格都給刪除。
- 實用HTML格式化的。nl2br().即在字符串的新一行前插入<br>.
<?php
echo nl2br("foo isn't/n bar");
?>
strtolower將字符串變爲小寫
strtoupper將字符串變爲大寫
ucfirst將字符串的第一個字符大寫。
ucwords 將字符串中的每一個單詞的第一個字符變爲大寫。
explode類似於C#裏的Split函數。例如:
爲了取得子字符串,調用substr()吧。
替換的話,調用str_replace()以及substr_replace(). 構造用__construct();析構用__destruct(); $this->此類裏面的方法或屬性 類的繼承
類的繼承和C#,Java語言一樣,不支持多重繼承。PHP實用extends來繼承一個類,和Java有些類似。
在Java裏有final這個詞,PHP裏也有,並且作用相似,就是爲了阻止繼承或重載,重寫方法。 提到繼承,那麼PHP支持接口嗎?支持。 <?php
2 interface IDispose
3 {
4 function Dispose();
5 }
6
7 class page extends IDispose
8 {
9 function Dispose()
10 {
11 //Your code here.
12 }
13 }
3. PHP 的類的類型檢查
你要想判斷一個類是不是某個類的類型。非常簡單,就是instanceof,如果你使用過java,那麼你非常熟悉了,因爲和Java一樣。如果你是用C#的,類似於C# 裏的is。
4. 克隆對象
PHP提供一個關鍵字,clone,就是這個功能。我看PHP是我見到語言中克隆對象比較簡單的語言之一。代碼如下:
5. 抽象類
PHP也支持抽象類,並且和C#等語言非常類似 6. 使用__call重載
這是我認爲PHP提供的一個非常cool的功能,非常的佩服。這個方法用來監視一個對象中的其它方法。如果你試着調用一個對象中不存在的方法,__call 方法將會被自動調用。
面向對象的連接
我們可以用以下語句來建立MySQL的連接
@ $db=new mysqli('localhost','root','password','mysql');
if(mysqli_connect_errno())
{
echo 'Error: Can not connect to database.';
}
選擇使用的數據庫
db->select_db(dbname)//dbname爲你選擇的數據庫 mysqli_select_db(db_resource,dbname)//db_resource就是前面提到的數據庫的連接資源 要查詢數據庫,我們可以使用mysql_query()函數,在進行此操作前最好把你的sql建立以下 $result=$db->query($query) 以上是面向對象的方法,過程方法可以爲: