01、PHP基本常識
1、變數和資料型別
變數$ + 符合命名規範的字元
php是一種弱型別語言,即不需要生命變數型別就能夠使用。
變數輸出:echo + 字串/變數,var_dump(變數) 輸出變數型別及資料
註釋:單行註釋// 或 #,多行註釋 /**/
指定編碼方式:
//告訴瀏覽器以什麼編碼方式解析什麼型別的文件
header('content-type:text/html;charset=utf-8');
變數型別:
浮點型$a = 2e3 / $a = 2E3 就是 2x10的3次方
字串型 ' '裡面內容不解析變數," "裡面內容解析變數," "可以嘗試字串加變數一起輸出。
$name = '丘'; echo"我是$name 的啊";//$name 後要用空格隔開,否則就會被認為後面一串都是變數名。 //若不想要空格還可以這樣,{}裡面不能有空格,否則就會被當做普通字元 echo "我是{$name}的啊"; echo "我是${name} 的啊";
轉義符:\n回車,\t水平製表符,\r回車,\\是\,\$是$,\'是',\*是*
略......
型別轉換
臨時轉換(不改變變數本身)
第一種:(變數型別)變數名稱。如:$bb = (int)$a; //將$a轉換為整型
(int)(integer)、(float)(double)(real)、(string)、(bool)(boolean) (unset)//將某變數臨時轉換為 null (array) //臨時將變數轉換為陣列 (object) //臨時將變數轉換為物件
第二種:通過系統函式。即 變數型別val(變數名稱),如 $a = intval($b); //將$b轉換為整型
intval
floatval、doubleval
stringval
boolval
永久轉換(改變變數本身)
gettype(獲取變數型別,慎用)
echo gettype($a); //輸出$a的變數型別
settype($a,'int') (設定變數型別)
//例子 $a = 1; settype($a,'bool'); var_dump($a); //型別引數boolean/bool integer/int float string array object null
通過變數函式庫,檢測變數型別
is_型別(變數); //檢測變數是不是該型別,返回bool
如檢測 $a是不是整型,is_int($a); //返回bool
如檢測 $c是不是資源
$c = fopen('./cc.html' , 'r'); echo is_resource($c); //輸出true
//型別 整型:is_int() , is_integer() , is_long() 浮點型:is_float() , is_double() , is_real() 字串:is_string() 布林型:is_bool() 標量型別:is_scalar() 空null:is_null() 陣列:is_array() 物件:is_object() 資源:is_resource 是否為數值型/字串形式的數值:is_numeric()
heredoc 和 nowdoc
heredoc相當於 " " ,使用語法
$str = <<<haha 這裡是程式碼段 haha; echo $str; //也可以 $str = <<<"haha" 這裡是程式碼段 haha; echo $str;
nowdoc相當於 ' ' ,使用語法
$str = <<<'now' 這裡的變數不會被解析到 now;
2、PHP常量
php系統常量
echo PHP_VERSION; //輸出php的版本 echo PHP_OS; //輸出php的系統 echo PHP_INT_MAX;//整型的最大值 略。。。
php自定義常量
define函式
define('NAME',VALUE); echo NAME; //常量名稱最好大寫,常量名稱不能加$,常量是全域性的作用域 //常量已經定義,在指令碼執行期間是不可改變的
const關鍵字
const NAME = VALUE; echo NAME;
魔術常量
__LINE__ //得到當前的行號 __FILE__ //得到當前檔案完整的絕對路徑和檔名 __DIR__ //得到當前檔案完整的絕對路徑 __FUNCTION__ //得到當前函式的名稱 __CLASS__ //得到當前類的類名 __METHOD__ //得到當前類的方法名稱 __TRAIT__ //得到當前TRAIT名稱 __NAMESPACE__ //得到當前名稱空間的名稱
使用常量
1、直接寫常量名稱
2、通過 constant('NAME'),如echo constant('NAME');
檢測常量是否存在
defined('NAME'); //返回bool
得到所有已經定義的產量,及系統常量(陣列)
print_r(get_defined_contants());
輸出
echo //輸出一個或多個字串 print_r() //列印陣列資訊 var_dump() //列印變數的詳細資訊,一個或多個都行
PHP預定義變數
$GLOBALS //超全域性變數,包含以下所有的預定義變數
$_SERVERS //伺服器和執行環境資訊變數
$_ENV //環境變數
$_COOKIE //Http cookies
$_SESSION //http session
$_FILES //檔案上傳資訊變數
$_GET //接收以get方式方式傳送的資料
$_POST //接收以post方式傳送的資料
$_REQUEST //$_GET + $_POST + $_COOKIE
print_r($_GET); //接收以get方式接收的所有資料,以陣列的方式存起來
echo $_REQUEST['name']; //接收get/post傳送的資料
3、運算子
算術運算子
遞增遞減運算子
字元連線符
賦值運算子
比較運算子
邏輯運算子
錯誤抑制符
略。。。
4、流程控制
if
switch...case
for
while,do while,goto
略。。。