1. 程式人生 > 實用技巧 >01、PHP基本常識

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

略。。。