1.PHP簡介:
- PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。(百度百科)
2.語法:
- PHP 腳本可放置於文檔中的任何位置。
PHP 腳本以
<?php
// 此處是 PHP 代碼
?>
- PHP 文件的默認文件擴展名是 “.php”。
PHP 文件通常包含 HTML 標籤以及一些 PHP 腳本代碼。
PHP 語句以分號結尾(;)。
PHP 代碼塊的關閉標籤也會自動錶明分號(因此在 PHP 代碼塊的最後一行不必使用分號)。
<!DOCTYPE html>
<html>
<body>
<h1>我的第一張 PHP 頁面</h1>
<?php
echo "Hello World!";
?>
</body>
</html>
- PHP 支持三種註釋:
<!DOCTYPE html>
<html>
<body>
<?php
// 這是單行註釋
# 這也是單行註釋
/*
這是多行註釋塊
它橫跨了
多行
*/
?>
</body>
</html>
- PHP 大小寫敏感
在 PHP 中,所有用戶定義的函數、類和關鍵詞(例如 if、else、echo 等等)都對大小寫不敏感。
在下面的例子中,所有這三條 echo 語句都是合法的(等價):
<!DOCTYPE html>
<html>
<body>
<?php
ECHO "Hello World!<br>";
echo "Hello World!<br>";
EcHo "Hello World!<br>";
?>
</body>
</html>
- 不過在 PHP 中,所有變量都對大小寫敏感。
在下面的例子中,只有第一條語句會顯示 $color 變量的值(這是因爲 $color、$COLOR 以及 $coLOR 被視作三個不同的變量):
<!DOCTYPE html>
<html>
<body>
<?php
$color="red";
echo "My car is " . $color . "<br>";
echo "My house is " . $COLOR . "<br>";
echo "My boat is " . $coLOR . "<br>";
?>
</body>
</html>
3.變量:
- PHP 變量規則:
變量以$符號開頭,其後是變量的名稱
變量名稱必須以字母或下劃線開頭
變量名稱不能以數字開頭
變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 _)
變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)
註釋:PHP 變量名稱對大小寫敏感!
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
如果您爲變量賦的值是文本,請用引號包圍該值。
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
PHP 是一門類型鬆散的語言
在上面的例子中,請注意我們不必告知 PHP 變量的數據類型。
PHP 根據它的值,自動把變量轉換爲正確的數據類型。
在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量之前聲明它的名稱和類型。PHP 變量作用域
在 PHP 中,可以在腳本的任意位置對變量進行聲明。
變量的作用域指的是變量能夠被引用/使用的那部分腳本。
PHP 有三種不同的變量作用域:local(局部)
global(全局)
static(靜態)- Local 和 Global 作用域
函數之外聲明的變量擁有 Global 作用域,只能在函數以外進行訪問。
函數內部聲明的變量擁有 LOCAL 作用域,只能在函數內部進行訪問。
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "<p>測試函數內部的變量:</p>";
echo "變量 x 是:$x";
echo "<br>";
echo "變量 y 是:$y";
}
myTest();
echo "<p>測試函數之外的變量:</p>";
echo "變量 x 是:$x";
echo "<br>";
echo "變量 y 是:$y";
?>
運行結果:
在函數內部測試變量:
變量 x 是:
變量 y 是:10
在函數之外測試變量:
變量 x 是:5
變量 y 是:
- PHP global 關鍵詞
global 關鍵詞用於訪問函數內的全局變量。
要做到這一點,請在(函數內部)變量前面使用 global 關鍵詞:
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 輸出 15
?>
PHP 同時在名爲 $GLOBALS[index] 的數組中存儲了所有的全局變量。下標存有變量名。這個數組在函數內也可以訪問,並能夠用於直接更新全局變量。
上面的例子可以這樣重寫:
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 輸出 15
?>
- PHP static 關鍵詞
通常,當函數完成/執行後,會刪除所有變量。不過,有時我需要不刪除某個局部變量。實現這一點需要更進一步的工作。
要完成這一點,請在您首次聲明變量時使用 static 關鍵詞:
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();//0
myTest();//1
myTest();//2
?>
然後,每當函數被調用時,這個變量所存儲的信息都是函數最後一次被調用時所包含的信息。
註釋:該變量仍然是函數的局部變量。
- PHP echo 和 print 語句
echo 和 print 之間的差異:
echo - 能夠輸出一個以上的字符串
print - 只能輸出一個字符串,並始終返回 1
提示:echo 比 print 稍快,因爲它不返回任何值。
echo 是一個語言結構,有無括號均可使用:echo 或 echo()。
print 也是語言結構,有無括號均可使用:print 或 print()。
<!DOCTYPE html>
<html>
<body>
<?php
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我計劃學習 PHP!<br>";
echo "這段話", "由", "多個", "字符串", "串接而成。";
?>
</body>
</html>
輸出:
PHP 很有趣!
Hello world!
我計劃學習 PHP!
這段話由多個字符串串接而成。
<!DOCTYPE html>
<html>
<body>
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");
echo $txt1;
echo "<br>";
echo "Study PHP at $txt2";
echo "<br>";
echo "My car is a {$cars[0]}";
?>
</body>
</html>
輸出:
Learn PHP
Study PHP at W3School.com.cn
My car is a Volvo
<!DOCTYPE html>
<html>
<body>
<?php
print "<h2>PHP is fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");
print $txt1;
print "<br>";
print "Study PHP at $txt2";
print "<br>";
print "My car is a {$cars[0]}";
?>
</body>
</html>
輸出:
Learn PHP
Study PHP at W3School.com.cn
My car is a Volvo
3.數據類型:
字符串、整數、浮點數、邏輯、數組、對象、NULL。
- PHP 字符串
字符串是字符序列,比如 “Hello world!”。
字符串可以是引號內的任何文本。您可以使用單引號或雙引號:
<?php
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
?>
- PHP 整數
整數是沒有小數的數字。
整數規則:
整數必須有至少一個數字(0-9)
整數不能包含逗號或空格
整數不能有小數點
整數正負均可
可以用三種格式規定整數:十進制、十六進制(前綴是 0x)或八進制(前綴是 0)
在下面的例子中,我們將測試不同的數字。PHP var_dump() 會返回變量的數據類型和值:
<!DOCTYPE html>
<html>
<body>
<?php
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 負數
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六進制數
var_dump($x);
echo "<br>";
$x = 047; // 八進制數
var_dump($x);
?>
</body>
</html>
輸出:
int(5985)
int(-345)
int(140)
int(39)
- PHP 浮點數
浮點數是有小數點或指數形式的數字。
在下面的例子中,我們將測試不同的數字。PHP var_dump() 會返回變量的數據類型和值:
<!DOCTYPE html>
<html>
<body>
<?php
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
?>
</body>
</html>
輸出:
float(10.365)
float(2400)
float(8.0E-5)
- PHP 邏輯
邏輯是 true 或 false。
$x=true;
$y=false;
- PHP 數組
數組在一個變量中存儲多個值。
在下面的例子中,我們將測試不同的數組。PHP var_dump() 會返回變量的數據類型和值:
<!DOCTYPE html>
<html>
<body>
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
</body>
</html>
輸出:
array(3) { [0]=> string(5) “Volvo” [1]=> string(3) “BMW” [2]=> string(4) “SAAB” }
- PHP 對象
對象是存儲數據和有關如何處理數據的信息的數據類型。
在 PHP 中,必須明確地聲明對象。
首先我們必須聲明對象的類。對此,我們使用 class 關鍵詞。類是包含屬性和方法的結構。
然後我們在對象類中定義數據類型,然後在該類的實例中使用此數據類型:
<!DOCTYPE html>
<html>
<body>
<?php
class Car
{
var $color;
function Car($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
function print_vars($obj) {
//遍歷對象的屬性,以鍵值對形式輸出
foreach (get_object_vars($obj) as $prop => $val) {
echo "\t$prop = $val\n";
}
}
// instantiate one object
$herbie = new Car("white");
// show herbie properties
echo "\herbie: Properties\n";
print_vars($herbie);
?>
</body>
</html>
輸出:
\herbie: Properties color = white
- PHP NULL 值
特殊的 NULL 值表示變量無值。NULL 是數據類型 NULL 唯一可能的值。
NULL 值標示變量是否爲空。也用於區分空字符串與空值數據庫。
可以通過把值設置爲 NULL,將變量清空:
<?php
$x="Hello world!";
$x=null;
var_dump($x);
?>
輸出:
NULL