標籤:tags 使用 包含 函數注釋 賦值 get 檔案上傳 __file__ 沒有
php標記
文法:有4種書寫格式
1.<?php ... ?> 強烈推薦使用。
如果當前 php的程式碼片段,是整個文檔的最後一段,可以省略結束標記?(建議省略)
每句語句都要以分號;結束。如果這條語句是在php的最後,則可以省略。(前提是:php最後有?>這個結束標記)
2.<script language="php"> ... </script> 容易和javascript標記混淆
3.<? ... ?> php預設不支援, 必須設定php.ini檔案中的 short_open_tag = On
4.<% ... %> shell風格,php預設不支援,必須設定php.ini檔案中的 asp_tags = On
注釋
// 行注釋
# 行注釋
/* ... */ 塊注釋
塊注釋多用與函數注釋
例如: /*
* 函數的功能
* @param 參數類型 參數名1 參數解釋
* @param 參數類型 參數名2 參數解釋
* @return 傳回值類型 傳回值解釋
*/
php常見輸出語句
print 簡單輸出語句,可以輸出字串,變數、運算式等單項的值!(不能輸出數組、對象等複雜資料類型)
例如: print ("Hello,World!");
輸出結果:Hello,World!
echo 也是簡單輸出語句,但是一次可以輸出多個資料,中間以逗號分隔!
例如: echo "Hello","World!";
輸出結果:HelloWorld!
var_dump 在測試代碼的時候使用的最多的語句,不僅僅可以輸出一個或多個資料項目的值,還可以列印出資料項目的類型、長度等額外的資訊!而且可以輸出複雜資料類型!
例如: $arr = array("A"=>10,"B"=>20,"C"=>"abc");
var_dump ($arr);
輸出結果:array(3) { ["A"]=> int(10) ["B"]=> int(20) ["C"]=> string(3) "abc" }
print_r 一般就是用來列印數組等複雜資料類型
例如: $arr = array("A"=>10,"B"=>20,"C"=>"abc");
print_r ($arr);
輸出結果:Array ( [A] => 10 [B] => 20 [C] => abc )
printf 比較擅長輸出由靜態文本和其他變數所組成的“混合產物”!該語句一般有兩個部分:前半部分是用引號擴起來的字串,如果字串裡面需要出現變數,就用一個變數預留位置來表示,預留位置都是以%開頭的,不同的預留位置表示不同的資料類型!後半部分是變數列表,變數列表應該與前面的變數預留位置是一一對應的!
例如: $name="zhangsan";
$age =30;
$home="cn";
printf ("我的名字叫%s;年齡為%d;I come from %s",$name,$age,$home);
輸出結果:我的名字叫zhangsan;年齡為30;I come from cn
預留位置
%s:將後面的變數認為是一個字串,並顯示為字串!
%c:將後面的變數認為是一個整數,並顯示為該整數所對應的ACSII碼的值 (取值0~127)
%d:將後面的變數認為是一個整數,並顯示為有符號的十進位數 (有正負之分)
%u:將後面的變數認為是一個整數,並顯示為無符號的十進位數 (無正負之分)
%o:將後面的變數認為是一個整數,並顯示為無符號的八位元
%x:將後面的變數認為是一個整數,並顯示為無符號的十六進位數
%f:將後面的變數認為是一個浮點數,並顯示為浮點數
變數
基礎文法:$
$只是一個文法形式,代表後面的標識符為一個變數名!所以,$不算是變數名的一部分,用於標識後面的字串是一個變數名
聲明變數(增) PHP是弱類型語言,主要體現在以下的兩點:
PHP不需要顯示的聲明變數,相反,變數的聲明一般是和變數的賦值(初始化)同時進行的!
變數可以是任意的類型,而不需要指定具體的類型,或者說可以放置任意類型的值!
雖然php變數不需要顯示的聲明,並不代表我們可以直接使用一個完全沒有初始化的變數!
PHP變數不需要指定類型,但是並不代表該變數沒有資料類型,變數的資料類型就是其儲存的值的類型
刪除變數(刪) 這個時候需要使用PHP的內建函數(系統函數)unset來完成!
修改變數(改) 重新賦值就行了!
擷取變數的值(查) 使用$符號找到相應的變數並輸出即可
可變變數
變數一共就兩個部分:變數名 變數值
其中變數值肯定是可變的,所以,可變變數的含義就是變數的名字可變,也就是說,變數的名字可以用另外一個變數來代替!所以,可變變數也叫作變數的變數
例如: <?php
$a="itcast";
$itcast="Hello,World!";
echo $$a;
輸出結果: Hello,World!
變數間值傳遞
值傳遞 變數間的值發生改變
例如:
<?php
$a=100;
$b=$a;
$b=200;
echo $a;
echo $b;
輸出結果:100
200
引用傳遞 也叫地址傳遞,將一個變數值的地址賦值給另外一個變數!變數的地址發生改變
例如:
<?php
$a=300;
$b=&$a;
echo $b;
$b=200;
echo $a;
echo $b;
輸出結果:300
200
200
預定義變數
$_SERVER 指的是,伺服器可以收集到的瀏覽器資訊和伺服器資訊的集合!是一個數組!
在真實的項目中,需要什麼就列印什麼,通過資料的中括弧文法訪問其中的一些元素
$_GET 用於接收使用者在填寫表單的時候採用get方式提交的所有的資料
GET傳值的特點: 1, 在使用者提交的時候,會把表單中的資訊放在URL地址的後面一起傳遞給所提交的伺服器端的檔案,請求指令碼名與資料之間採用問號?
分割,資料與資料之 間採用&分割,資料的名字和資料的值之間以等號=分割!
2. 不是很安全!傳輸量比較
$_post 也是用來接收表單的資料,只不過接收採用POST方式提交的資料
注意:絕大部分的表單都是採用POST方式提交!
因為: 1, POST可以傳遞二進位而get方式不行!
2, POST提交的資料更多,預設可以達到8M
3, 更安全
$_REQUET ($_REQUEST = $_GET + $_POST +$_COOKIE) 包含了使用者所有的請求資料,典型就是post資料和get資料
$_COOKIE,$_SESSION 會話技術
$_FILES 檔案上傳
$GLOBALS 變數範圍
常量
文法:
define("常量名",常量值)
另外,在新版本的PHP中,還支援另外一種定義常量的文法:
const 常量名=常量值;
(注意:const本來是定義類常量的一種文法,新版本的PHP中擴充了它的功能,也能定義普通常量)
注意:
常量是全域的,在指令碼的任意的地方都可以使用!(包括函數內和函數外)
常量名不能有$
常量名的命名規則與變數相似,而且更加寬鬆
常量名一般大寫;
get_defined_constants()
一個系統函數,可以得到所有已經定義了的常量!是一個數組
預定義常量
魔術常量
使用的文法與常量一致,而且也是預定義的,但是,其值,由代碼所在的位置決定的,也就是說,出現的位置不一樣的時候,其值也不一樣!
魔術常量的最大特點是:以兩個底線開始,以兩個底線結束
__FILE__ 當前指令碼所在的路徑
__DIR__ 當前指令碼所在的目錄
__LINE__ 當前代碼所在的行號
__FUNCTION__ 當前函數的名字
__METHOD__ 當前方法的名字
__CLASS__ 當前類的名字
__NAMESPACE__ 當前命名空間的名字
php標記,變數,常量