PHP經典例項讀書筆記 變數

2021-08-02 23:32:33 字數 1865 閱讀 9745

empty()會告訴你乙個值是否為空。

isset()會告訴你乙個值是否設定。

空的定義

- integer ->0

- double ->0.0

- string->」「(空串)

-string->」0」(這個要注意字串」0」也為空)

- boolean->false

- 陣列->array()

- null

- 物件

empty()在5.5以前只允許傳入引數,5.5以後可以傳入表示式,

所以empty也可以用於檢查函式返回是否為空。

5.0以前無屬性的物件也為空。

-----------------------
通常使用三元運算子+isset();

$val = isset($_get['car']) ? $_get['car'] : "default" ;
如果使用empty會把 0,「0」,false等合法的輸入覆蓋掉

使用isset時 ,只有值為null時也會被覆蓋(也就是值未設定時);

特殊情況下可以考慮使用array_key_exists($keyname,$array);

list(a,

b) = array(b,

a);

$s = "name";

$$s = 111;

echo

$name ;// 111

當變數名由函式等組成的表示式計算出來時,把表示式使用大括號括起來。

$ = 111;
***,使用static

只在指令碼執行到結束有效。

使用apc擴充套件。

使用shmop, system v存入記憶體。(windows上不可以使用system v)

使用檔案,資料庫儲存。

當乙個複雜結構的資料要經過url進行傳遞的時候,可以使用下列兩個方法,將資料存入單一變數。

json_encode(), json_decode()

serialze(),unserialze()

1.使用json 解碼時開銷會比serialze大,但是方便與js互動;

2.json_encode()的第二個引數為true時,會生成關聯數值,如果沒有生成乙個stdclass物件

3.在url上使用serialize的資料要加上urlencode(),確保其url的元字元轉義;

printf_f()只輸出層級結構和值

var_dump()還輸出了各個變數的型別

var_export()輸出的是可以執行的陣列**

對於陣列中引用型別 print_f(),和var_dump(),當第二次看到這個引用的物件時會輸出recursion,var_export()則輸出null;

當他們第二個引數為true時,會返回列印的資訊而不列印

這時var_export()可以用來寫配置檔案

$content = "<?php \n return ".var_export($config);   

file_put_contents('config.php', $content);

讀取時

$config =  require('config.php');
var_dump的返回值需要使用輸出緩衝

ob_start();

var_dump($user);

$dump = ob_get_content();

ob_end_clean();

PHP經典例項讀書筆記 數字

問題 希望確保變數包含乙個數 即使變數的型別是字串 或者,希望檢查變數不僅僅是乙個數,而且要特別指定其型別是乙個數字型別。解決方案 使用is numeric 檢查乙個變數是否是乙個數。示例 is numeric不判斷資料型別 arr array 5,5 05 12.3,16.7 five 10e20...

卡耐基經典讀書筆記1

1 成功的人際關係在於你能捕捉對方觀點的能力 還有,看一件事須兼顧你和對方的不同角度。2 天底下只有一種方法可以影響他人,那就是提出他們的需要,並讓他們知道怎樣去獲取。3 能設身處地的為他人著想,了解別人心理想些什麼的人,永遠不用擔心未來。4 自我表現是人類天性中最主要的需求。當我們想出乙個好主意的...

PHP讀書筆記(一)

記錄一些php基礎學習的容易被忽略的知識點 一 對於任何簡單型別的變數,都可以將變數寫入到乙個由雙引號引起來的字串,如 echo tireqty tires 在雙引號中,變數名稱將被變數值所替代。而在單引號中,變數名稱,或者任何其他文字都會不經修改而傳送給瀏覽器。二 heredoc語法,用來指定字串...