php查漏補遺

2021-09-19 06:35:51 字數 2953 閱讀 2693

執行php檔案:php.exe -f "php檔案路徑"

php.exe -f index.php

執行php**:php.exe -r "php指令碼**"

php.exe -r "echo \"helloworld!!\";";

設定時區

預設時區不對,需要調整時區

方式一:通過php.ini方式調整

date.timezone=[asia/shanghai|prc]

方式二:在php檔案中設定(此方法必須每次php業務**執行前執行)

date_default_timezone_set('america/los_angeles');設定當前時區

date_default_timezone_get();返回當前時區

post與get變數名相同時

當post和get提交的資料名稱相同的時候,post的值會覆蓋掉get的值,可以在php.ini中修改。

request_order="gp"g=get『、p=post,後者覆蓋前者,反之亦然

$_server

大約有30個左右的資訊,我們只要知道其中5個左右!

$_server[『remote_addr』]:獲取訪問者的ip位址(如果使用者使用了**請求或者後端使用了負載,此方法獲取的是**的ip,使用$_server[『x_forwarded_for』]獲取真實的使用者ip)

$_server[『server_name』]:獲取伺服器的名字,其實就是站點設定中的servername

$_server[『query_string』]獲取當前網頁位址中的所有get資料(就是?號後面部分),但只是乙個整體的字串而已。

$globals

它也是乙個「重複性資料」,它裡面儲存了我們自己定義的所有「全域性變數」

$v1 = 1;    //定義了乙個全域性變數,

此時,就有了這樣乙個資料:$globals[『v1』],其值就是1

echo $v1 ; //輸出1

echo $globals[『v1』]; //輸出1

設定
// 語法一

define("pi",3.14);

define("name","zhencheng");

// 語法二

const age=32;

const ***='man';

取值
//語法一,直接輸出常量名

echo pi;

echo name;

//語法二。使用constant()函式獲取

echo constant("age");

echo constant("***")

判斷
if( defined("pi") )
常量的「坑」
// money常量未定義

echo "money:".money;

//當使用乙個未定義的常量的時候,系統會直接將該常量當做「有值」的常量去使用,並且其值就是該常量名——雖然也會報錯[經測試php7下,報warning級別錯誤]!

預定義常量

m_pi: 就是圓周率的常量值;

php_os: 就是php執行所在的作業系統

php_version: 就是php的版本號

php_int_max: php中的最大的整數值

更多可參考:php手冊》附錄》保留字列表》預定義常量

魔術常量

根據系統環境變化的值

__file__:代表當前網頁檔案的完整物理路徑

__dir__:代表當前網頁檔案所在的資料夾

__line__:代表當前這個常量名所在的」行號」

字串除了常見的單、雙引號還有單引號定界符雙引號定界符

// "aaa"代表開始,aaa;代表結束,中間所有代表字串

// "aaa"雙引號,中間可以包括(\\、\n、\r、\t、\$)轉移符

// 'aaa'單引號,原封不動輸出中間的內容

$name1 = <<<"aaa"

111\n\n1

2\t2\r2\$2

aaa;

echo $name1;

echo "\n******************************\n";

$name2 = <<<'aaa'

111\n\n\n\n1

2\t2\r2\$2

aaa;

echo $name2;

布林值
if($name)else
型別轉換

var_dump():用於輸出變數的「完整資訊」,幾乎只用於除錯**。

gettype($變數名):獲取該變數的型別名字,返回的是乙個表示該型別名字的字串,比如:「string」,「bool」,「double」,「int」

settype($變數名,「目標型別」):將該變數強制改變為目標型別;

isset(), empty(), unset();。。。。省略!

is_xx型別() 系列函式:判斷某個資料是否為某種型別,有如下一些:

is_int($x); 判斷$x是否是乙個整數型別;

is_float($x);

is_string($x);

is_bool($x);

is_array($x);

is_object($x);

is_null($x);

is_numeric($x); 判斷$x是否是乙個數字!

is_scalar($x); 判斷$x是否是乙個「標量型別」

編寫PHP擴充套件補遺

關於config.m4的用法 幾個函式的介紹,php add library x,modulename shared libadd php add include path x是需要附加編譯的條件,即 l x,path是標頭檔案之類的路徑。如果有多個檔案需要編譯,可以這樣修改php new exte...

DOM查漏補缺

使用getattribute 方法只能獲取屬性的文字內容,比如script或者style就不方便了,因此建議使用屬性的方法來獲取,即elenode.attr這種形式 但是自定義的標籤屬性必須使用getattribute 方法來獲得。屬性的方法會返回undefined 修改class通過屬性名的方法是...

CSS查漏補缺

從父類繼承 padding inherit 字母大寫 小寫,首字母大寫 h1 h2 credits 字母 漢字間距 letter spacing 0.2em 文字對齊方向 text align right 鏈結下劃線aa hover 首字母 首行 p.intro first letter p.int...