PHPのお勉強!

PHP TOP

wincache_ucache_get

(PECL wincache >= 1.1.0)

wincache_ucache_get ユーザーキャッシュに格納された変数を取得する

説明

wincache_ucache_get(mixed $key, bool &$success = ?): mixed

ユーザーキャッシュに格納された変数を取得します。

パラメータ

key

変数をキャッシュに格納するときに使ったキーの名前。 key は大文字小文字を区別します。 key にはキーの配列を指定することもできます。 その場合の戻り値は、key 配列の各要素の値の配列となります。 オブジェクト、あるいはオブジェクトを含む配列が返されるときには、 オブジェクトがアンシリアライズされます。シリアライズしたオブジェクトの復元についての詳細は __wakeup() を参照ください。

success

成功した場合に true、失敗した場合に false が設定されます。

戻り値

key が文字列のときは、そのキーに格納された変数の値を返します。 success には、成功した場合に true、 失敗した場合に false が設定されます。

key が配列のときは、success には常に true が設定されます。返される配列 (name => value のペア) には、取得に成功したペアだけが含まれます。指定したキーがひとつもユーザーキャッシュから見つからなかった場合は 空の配列を返します。

例1 wincache_ucache_get()key に文字列を使う例

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

上の例の出力は以下となります。

string(4) "blue"
bool(true)

例2 wincache_ucache_get()key に配列を使う例

<?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)

参考

add a note

User Contributed Notes 1 note

up
0
don dot raman at microsoft dot com
14 years ago
As per documentation PHP 5.2 doesn't support serialization of PHP internal classes. This means code below will not work:

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

The output of above code will be (as of PHP5.2.13):
[11-Feb-2010 08:35:29] PHP Warning: DateTime::format() [<a href='datetime.format'>datetime.format</a>]: The DateTime object has not been correctly initialized by its constructor in C:\inetpub\wwwroot\phptest\tests\ucache\wincache8.php on line 5
And last var_dump will return bool(false).
To Top