簡介:本次介紹的是PHP手冊中與變數相關的一些系統函數,以下天涯把最常用的進行詳細說明。
empty — 檢查一個變數是否為空
「」、0、」0″、NULL、FALSE、array()、var $var; 以及沒有任何屬性的物件都將被認為是空的【天涯註:這個貌似有問題? 】
isset — 偵測變數是否設定
is_null — 偵測變數是否為NULL
下面是本地環境測試結果:Apache2.2/MySQL5.5/php-5.2.17
error_reporting(0);
class phpha{}
$var1;
$var2 = '';
$var3 = NULL;
$var4 = array();
$var3 = NULL;
$var4 = array(); new phpha;
echo empty($var1) ? 'empty | ' : 'not empty | ';
echo is_null($var1) ? 'is_null | ' : 'not is_null | ';
echo isset($var1) ? isset' : 'not isset ';
echo '
';
echo empty($var2) ? 'empty | ' : 'not empty | ';
echo is_null($var2) ? 'is_null | ' : ' not is_null | ';
echo isset($var2) ? 'isset' : 'not isset ';
echo '
';
echo empty($var3) ? 'empty | ' : 'not empty | ';
echo is_null($var3) ? 'is_null | ' : 'not is_null | ';
echo isset($var3) ? 'isset' : 'not isset ';
echo '
';
echoempty
echom ' var4) ? 'empty | ' : 'not empty | ';
echo is_null($var4) ? 'is_null | ' : 'not is_null | ';
echo isset($var4) ? 'isset' : 'not isset ';
echo '
';
echo empty($var5) ? 'empty | ' : 'not empty | ';
echo is_null($var5) ? 'is_null | ' : 'not is_null | '; echo isset ($var5) ? 'isset' : 'not isset ';
?>
//天涯PHP博客http://blog.phpha.com
輸出如下:
empty | is_null | not isset
empty | not is_null |
empty | not is_null | isset
not empty | not is_null | isset 🎜🎜 🎜🎜🎜get_retomtype
$c = mysql_connect();
echo get_resource_type($c)."n";
// 列印:mysql 連結
$ffp = fopen"foo;" echo get_resource_type($fp)."n";
// 列印:檔案
$doc = new_xmldoc("1.0");
echo get_resource_type($doc->doc)."n";
// 列印:domxml 文件
?>
settype — 設定變數的型別
回傳的字串的可能值為:
< “double” (由於歷史原因,如果是float 則返回“double”,而不是“float”)
“string”
“array”
“object”
“resource”(從PHP 4 起)
“object”
“resource”(從PHP 4 起)
“object”
“resource”(從PHP 4 起)
“NULL”從PHP 4 起)
“用戶函數”(僅適用於PHP 3,現已失效)
“未知類型”
import_request_variables — 將GET/POST/Cookie 變數匯入全域角色將GET/POST/ Cookie 變數匯入到全域作用域。如果你禁止了register_globals,但又想使用一些全域變量,那麼這個函數就很有用。
【天涯注】最好別亂用。
intval — 取得變數的整數值
可用來強制型別轉換,如下: intval($num); 或 (int) $num;
$var1 = 10.898;
$var2 = '你好';
$var3 = '22hello';
echo intval($var1) 。 '
';
echo intval($var2) 。 '
';
echo intval($var3);
? >
輸出:
10
0 //至於為什麼是0請參考PHP型別轉換規則
22
is_array — 偵測資料是否為資料_資料是否為布林類型
is_buffer — 尋找變數是否為本機unicode 或二進位字串
is_callable — 偵測參數是否為合法的可呼叫結構
is_double — is_float 的別名
is_float — 偵測變數是否為浮點型偵測變數為整數
is_integer — is_int 的別名
is_long — is_int 的別名
is_numeric — 偵測變數是否為數字或數字字串
is_object — 偵測變數是否為一個物件
is_real為數字資源類型
is_scalar — 偵測變數是否為一個標量
is_string — 偵測變數是否為字串
is_unicode — 偵測變數是否為unicode字串
以上全部是用於偵測變數是否為某種格式的函數,是則返回TRUE,否則返回FALSE。
print_r — 列印變數的易於理解的資訊。
var_dump — 列印變數的相關資訊
這2個不需要介紹了,調試的時候相當常用。
serialize — 產生一個可儲存的值的表示
反序列化 — 從已儲存的表示中建立 PHP 的值
//一般把上面的函數操作叫做「序列化」與「反序列化」
//需要重點說明的是:serialize() 可處理除了 resource 之外的任何類型。
//天涯PHP博客http://blog.phpha.com
//最常見的序列化一個數組,最常見的文件緩存方式即利用此函數
$phpha = array('hello', 'world', 'love');
$phpha_s = serialize($phpha);
$phpha_us = unserialize($phpha_s);
echo $phpha_s;
print_r($phpha_us);
a:3:{i:0;s:5:"hello";i:1;s:5:"world";i:2;s:4:"love";}Array
(
[0] => hello
[1] => world
[2] => love
)
$phpha = strval(1);
var_dump($phpha);
? >
// 輸出如下:
string(1) "1"
unset — 釋放給定的變數
//可以簡單的理解成「刪除」一個變數
//但是並不會「刪除」一個變數的引用
$blog = 'http://blog.phpha.com';
$phpha = & $blog;
echo $blog . '
' . $phpha . '
';
unset($blog);
echo $blog . '
' . $ phpha . '
';
?>
//輸出如下:
http://blog.phpha.com
http://blog.phpha.com
//由於$blog已經被「刪除」,所以會有Notice等級的警告
Notice: Undefined variable: blog in E:Apache2.2htdocsindex.php on line 35
http://blog.phpha.com
var_export — 輸出或傳回一個變數的字串表示
此函數傳回傳遞給該函數的變數的結構訊息,它和var_dump() 類似,不同的是其傳回的表示為合法的PHP 代碼。
$phpha = array(
'title' =>; '天涯PHP部落格',
'url' => 'http://blog.phpha.com',
'類型
'url' => 'http://blog.phpha.com',
'類型
'url' => 'http://blog.phpha.com',
'類型
'url' => 'http://blog.phpha.com',
'模式'WordPress'
);
var_dump($phpha);
print_r($phpha);
var_export($phpha);
? >
// 輸出如下: 🎜 array(3) { 🎜 ["title"]=>; 🎜 string(15) "天涯PHP部落格" 🎜 ["url"]=>; 🎜 字串(21) "http: //blog.phpha.com" 🎜[「型」]=>
string(9) "WordPress"
}
陣列
(
[title] =>; 天涯PHP部落格
[url] => http://blog.phpha.com
[類型] => WordPress
)
數組(
'title' => '天涯PHP博客',
'url' =>; 'http://blog.phpha.com',
'類型' => 'WordPress',
)
floatval — 取得變數的浮點值
get_define_vars — 傳回所有已定義變數所組成的儲存
以上就是摘自PHP手冊[7] – 變數函數的內容,更相關變數關注PHP中文網(www.php.cn)!