PHP语法,变量,cookie小结
PHP 運行機制
PHP 腳本在服務器上執行,然后將純 HTML 結果發送回瀏覽器。
基本的 PHP 語法
PHP 腳本可以放在文檔中的任何位置。
PHP 文件的默認文件擴展名是 ".php"。
PHP 文件通常包含 HTML 標簽和一些 PHP 腳本代碼。
PHP語法
PHP 腳本以 <?php 開始,以 ?> 結束:
??? <?php
??? // PHP 代碼
??? ?>
PHP 中的注釋
??? <!DOCTYPE html>
??? <html>
??? <body>
??? ?
??? <?php
??? // 這是 PHP 單行注釋
??? ?
??? /*
??? 這是
??? PHP 多行
??? 注釋
??? */
??? ?>
??? ?
??? </body>
??? </html>
PHP 變量
變量是用于存儲信息的"容器":
??? <?php
??? $x=5;
??? $y=6;
??? $z=$x+$y;
??? echo $z;
??? ?>
與代數類似
??? x=5
??? y=6
??? z=x+y
??? 在代數中,我們使用字母(如 x),并給它賦值(如 5)。
??? 從上面的表達式 z=x+y ,我們可以計算出 z 的值為 11。
??? 在 PHP 中,這些字母被稱為變量。
亦可以給 PHP 變量賦予某個值(x=5)或者表達式(z=x+y)。
變量可以是很短的名稱(如 x 和 y)或者更具描述性的名稱(如 age、carname、totalvolume)。
PHP 變量規則:
??????? 變量以 $ 符號開始,后面跟著變量的名稱
??????? 變量名必須以字母或者下劃線字符開始
??????? 變量名只能包含字母、數字以及下劃線(A-z、0-9 和 _ )
??????? 變量名不能包含空格
??????? 變量名是區分大小寫的($y 和 $Y 是兩個不同的變量)
創建(聲明)PHP 變量
PHP 沒有聲明變量的命令。
變量在您第一次賦值給它的時候被創建:
??? <?php
??? $txt="Hello world!";
??? $x=5;
??? $y=10.5;
??? ?>
在上面的語句執行中,變量 txt 將保存值 Hello world!,且變量 x 將保存值 5。
注意:當您賦一個文本值給變量時,請在文本值兩側加上引號。
局部和全局作用域
在所有函數外部定義的變量,擁有全局作用域。除了函數外,全局變量可以被腳本中的任何部分訪問,要在一個函數中訪問一個全局變量,需要使用 global 關鍵字。
在 PHP 函數內部聲明的變量是局部變量,僅能在函數內部訪問:
??? <?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";
??? ?>
PHP global 關鍵字
global 關鍵字用于函數內訪問全局變量。
在函數內調用函數外定義的全局變量,我們需要在函數中的變量前加上 global 關鍵字:
??? <?php
??? $x=5;
??? $y=10;
??? ?
??? function myTest()
??? {
??????? global $x,$y;
??????? $y=$x+$y;
??? }
??? ?
??? myTest();
??? echo $y; // 輸出 15
??? ?>
PHP 5 常量
常量值被定義后,在腳本的其他任何地方都不能被改變。
PHP 常量
常量是一個簡單值的標識符。該值在腳本中不能改變。
一個常量由英文字母、下劃線、和數字組成,但數字不能作為首字母出現。 (常量名不需要加 $ 修飾符)。
注意: 常量在整個腳本中都可以使用。
設置 PHP 常量
設置常量,通常使用 define() 函數,該函數語法如下:
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
此函數的三個參數:
??????? name:必選參數,常量名稱,即標志符。
??????? value:必選參數,常量的值。
??????? case_insensitive :可選參數,如果設置為 TRUE,該常量則大小寫不敏感。默認是大小寫敏感的。
以下實例我們創建一個 區分大小寫的常量, 常量值為 "歡迎訪問 Runoob.com":
??? <?php
??? // 區分大小寫的常量名
??? define("GREETING", "歡迎訪問 Runoob.com");
??? echo GREETING;??? // 輸出 "歡迎訪問 Runoob.com"
??? echo '<br>';
??? echo greeting;?? // 輸出 "greeting",但是有警告信息,表示該常量未定義
??? ?>
以下實例我們創建一個 不區分大小寫的常量, 常量值為 "歡迎訪問 Runoob.com":
??? <?php
??? // 不區分大小寫的常量名
??? define("GREETING", "歡迎訪問 Runoob.com", true);
??? echo greeting;? // 輸出 "歡迎訪問 Runoob.com"
??? ?>
常量是全局的
常量在定義后,默認是全局變量,可以在整個運行的腳本的任何地方使用。
以下實例演示了在函數內使用常量,即便常量定義在函數外也可以正常使用常量。
??? <?php
??? define("GREETING", "歡迎訪問 Runoob.com");
??? ?
??? function myTest() {
??????? echo GREETING;
??? }
??? ?
??? myTest();??? // 輸出 "歡迎訪問 Runoob.com"
??? ?>
PHP Cookie
cookie 常用于識別用戶。
Cookie 是什么?
cookie 常用于識別用戶。cookie 是一種服務器留在用戶計算機上的小文件。每當同一臺計算機通過瀏覽器請求頁面時,這臺計算機將會發送 cookie。通過 PHP,您能夠創建并取回 cookie 的值。
如何創建 Cookie?
setcookie() 函數用于設置 cookie。
注釋:setcookie() 函數必須位于 <html> 標簽之前。
語法
setcookie(name, value, expire, path, domain);
實例 1
在下面的例子中,我們將創建名為 "user" 的 cookie,并為它賦值 "runoob"。我們也規定了此 cookie 在一小時后過期:
??? <?php
??? setcookie("user", "runoob", time()+3600);
??? ?>
??? ?
??? <html>
??? .....
注釋:在發送 cookie 時,cookie 的值會自動進行 URL 編碼,在取回時進行自動解碼。(為防止 URL 編碼,請使用 setrawcookie() 取而代之。)
如何取回 Cookie 的值?
PHP 的 $_COOKIE 變量用于取回 cookie 的值。
在下面的實例中,我們取回了名為 "user" 的 cookie 的值,并把它顯示在了頁面上:
??? <?php
??? // 輸出 cookie 值
??? echo $_COOKIE["user"];
??? ?
??? // 查看所有 cookie
??? print_r($_COOKIE);
??? ?>
在下面的實例中,我們使用 isset() 函數來確認是否已設置了 cookie:
??? <html>
??? <head>
??? <meta charset="utf-8">
??? <title>菜鳥教程(runoob.com)</title>
??? </head>
??? <body>
??? ?
??? <?php
??? if (isset($_COOKIE["user"]))
??????? echo "歡迎 " . $_COOKIE["user"] . "!<br>";
??? else
??????? echo "普通訪客!<br>";
??? ?>
??? ?
??? </body>
??? </html>
如何刪除 Cookie?
當刪除 cookie 時,您應當使過期日期變更為過去的時間點。
刪除的實例:
??? <?php
??? // 設置 cookie 過期時間為過去 1 小時
??? setcookie("user", "", time()-3600);
??? ?>
如果瀏覽器不支持 Cookie 該怎么辦?
如果您的應用程序需要與不支持 cookie 的瀏覽器打交道,那么您不得不使用其他的辦法在您的應用程序中的頁面之間傳遞信息。一種方式是通過表單傳遞數據(有關表單和用戶輸入的內容,在本教程的前面章節中我們已經介紹過了)。
下面的表單在用戶單點擊 "Submit" 按鈕時,向 "welcome.php" 提交了用戶輸入:
??? <html>
??? <head>
??? <meta charset="utf-8">
??? <title>菜鳥教程(runoob.com)</title>
??? </head>
??? <body>
??? ?
??? <form action="welcome.php" method="post">
??? 名字: <input type="text" name="name">
??? 年齡: <input type="text" name="age">
??? <input type="submit">
??? </form>
??? ?
??? </body>
??? </html>
取回 "welcome.php" 文件中的值,如下所示:
??? <html>
??? <head>
??? <meta charset="utf-8">
??? <title>菜鳥教程(runoob.com)</title>
??? </head>
??? <body>
??? ?
??? 歡迎 <?php echo $_POST["name"]; ?>.<br>
??? 你 <?php echo $_POST["age"]; ?> 歲了。
??? ?
??? </body>
??? </html>
根據軟件環境等不同或許會有亂碼情況
總結
以上是生活随笔為你收集整理的PHP语法,变量,cookie小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ascll 和gbk,utf-8的简介
- 下一篇: PHP的安装与设置——windos