PHP Conference Japan 2024

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get 取得儲存在使用者快取中的變數

說明

wincache_ucache_get(混合 $key, 布林 &$success = ?): 混合

取得儲存在使用者快取中的變數。

參數

鍵名 (key)

用於在快取中儲存變數的 keykey 有區分大小寫。key 可以是一個鍵的陣列。在這種情況下,返回值將是 key 陣列中每個元素值的陣列。如果返回一個物件或包含物件的陣列,則物件將被反序列化。有關反序列化物件的詳細資訊,請參閱 __wakeup()

成功

成功時將設定為 true,失敗時設定為 false

返回值

如果 key 是一個字串,則函式會返回使用該鍵儲存的變數值。成功時,success 會設定為 true,失敗時則設定為 false

如果 key 是一個陣列,則參數 success 永遠設定為 true。返回的陣列(名稱 => 值 配對)將僅包含使用者快取中 get 操作成功的名稱 => 值 配對。如果鍵陣列中沒有任何鍵在使用者快取中找到相符項,則會返回一個空陣列。

範例

範例 #1 使用字串作為 keywincache_ucache_get()

<?php
wincache_ucache_add
('color', 'blue');
var_dump(wincache_ucache_get('color', $success));
var_dump($success);
?>

以上範例將輸出

string(4) "blue"
bool(true)

範例 #2 使用陣列作為 keywincache_ucache_get()

<?php
$array1
= array('green' => '5', 'Blue' => '6', 'yellow' => '7', 'cyan' => '8');
wincache_ucache_set($array1);
$array2 = array('green', 'Blue', 'yellow', 'cyan');
var_dump(wincache_ucache_get($array2, $success));
var_dump($success);
?>

以上範例將輸出

array(4) { ["green"]=> string(1) "5" 
           ["Blue"]=> string(1) "6" 
           ["yellow"]=> string(1) "7" 
           ["cyan"]=> string(1) "8" } 
bool(true)

另請參閱

新增註釋

使用者貢獻的註釋 1 則註釋

don dot raman at microsoft dot com
14 年前
根據文件,PHP 5.2 不支援 PHP 內部類別的序列化。這表示下面的程式碼將無法運作

<?php
$d
= new DateTime();
$d->format(DateTime::W3C);
wincache_ucache_set( 'q1', $d );
var_dump( wincache_ucache_get( 'q1' )->format(DATE_ATOM));
?>

以上程式碼的輸出結果為(截至 PHP 5.2.13 版本)
[2010年2月11日 08:35:29] PHP 警告: DateTime::format() [<a href='datetime.format'>datetime.format</a>]: DateTime 物件尚未由其建構函式正確初始化,發生於 C:\inetpub\wwwroot\phptest\tests\ucache\wincache8.php,第 5 行
最後 var_dump 將會回傳 bool(false)。
To Top