ホームページ  >  記事  >  バックエンド開発  >  Serialize()関数とunserialize()関数の説明例

Serialize()関数とunserialize()関数の説明例

零下一度
零下一度オリジナル
2017-07-27 16:40:531255ブラウズ

今日、class.quickskin.PHP のコードを見ていたら、これまで見たことのない関数がシリアル化されていました。Master と Xiaobai はそれについて質問しましたが、結果として理解できませんでした。ローカルでテストしたほうが良いのですが、これもまた愚かでした。 。 。 。
実際、この種の問題は非常に単純であり、多くの場合、私たちは単に怠け者です。 。 。 。
言語でプログラムを説明するのは難しい場合が多く、特に私のような初心者にとっては、コードを見るだけのほうが簡単です。
PHP5マニュアルの説明は以下のとおりです。一見するとややこしいように感じますが、テスト後にもう一度読むとわかりやすくなります。
簡単に言えば、serialize($param) は $param の値をシリアル化することです。UCHOME データベースの一部のフィールドはこのようなデータに格納されているようです (a:1:{s:7:"apppath";s:0 : "";})、unserialize($param) はシリアル化の逆の操作に似ており、シリアル化された値を対応する文字列に変換します。この変換は数値変数と文字列変数に対して実行可能ですが、それぞれ配列とオブジェクト インスタンスに対して実行可能です。 「配列」および「キャッチ可能な致命的なエラー: クラス オブジェクトのオブジェクトを文字列に変換できませんでした」というエラー メッセージが表示されます。

serialize() はリソースタイプを除くすべてのタイプを処理でき、オブジェクト

<?php 
$array = array(); 
$array[&#39;keys&#39;] = &#39;www&#39;; 
$array[&#39;values&#39;]=&#39;11111&#39;; 
$a = serialize($array); 
echo $a; 
unset($array); 
$a = unserialize($a); 
print_r($a); 
?>

output

a:2:{s:4:"keys";s:3:"www";s:6 :" をシリアル化することもできます。値";s:5:"11111";}

Array ( [keys] => www [values] => 11111 )

クラスにも同じことが当てはまります

以上がSerialize()関数とunserialize()関数の説明例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。