私はjson_encode()を使用します:
PHP 配列を格納するための推奨される方法 (json_encode と serialize)
TLDR? json_encode() にはいくつかの問題が考えられます。
- デフォルトでは、json_encode() は UTF-8 文字を Unicode エスケープ シーケンスに変換しますが、serialize() は変換しません。注: UTF-8 文字をそのままにしておくには、オプション JSON_UNESCAPED_UNICODE を PHP 5.4 以降で使用できます。
- JSON には、オブジェクトの元のクラスが何であったかの記憶はありません (それらは常に stdClass のインスタンスとして復元されます)。
- JSON で __sleep() および __wakeup() を利用することはできません
- パブリック プロパティのみが JSON でシリアル化されます
- JSON は移植性が高い
ただし、これらのいずれもユースケースの問題ではない場合。serialize() よりも 100 ~ 150% 高速です。(文字列をデコードすると、Google_Client() クラスは標準クラスに変換されます)。
// Script that kicks off the background task
$aArgs = array($client, $token);
$sArgs = base64_encode(json_encode($aArgs));
exec('php myscript.php '.$sArgs . ' > /dev/null 2>/dev/null &');
// myscript.php
$sArgs = json_decode(base64_decode($argv[1]));
// do something with $sArgs here...