ホームページ  >  記事  >  バックエンド開発  >  phpってシリアライズできないんですか?

phpってシリアライズできないんですか?

青灯夜游
青灯夜游オリジナル
2022-04-26 17:13:251999ブラウズ

php はシリアル化を実現できます。 PHP では、serialize() 関数を使用してシリアル化を実装し、「serialize (シリアル化する変数)」という構文で値を保存可能な文字列に変換できます。また、unserialize() 関数を使用して実装することもできます。逆シリアル化と再 - PHP で文字列を元の値に戻します。

phpってシリアライズできないんですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

いわゆるシリアル化とは、 a 変数を保存または転送できる文字列に変換するプロセス。逆シリアル化とは、この文字列を、使用する適切なタイミングで元の変数に変換することです。これら 2 つのプロセスを組み合わせることで、データの保存と送信の操作を簡単に完了できるため、プログラムの保守性が向上します。

php でもシリアル化を実現できます。

PHP では、serialize() 関数を使用してシリアル化を実装し、値を保存可能な文字列に変換できます。また、unserialize() 関数を使用して文字列を元の文字列に戻すこともできます。元の PHP の値、つまり逆シリアル化。

serialize() 関数の構文形式は次のとおりです。

serialize(mixed $value)

$value はシリアル化する変数です。

serialize() 関数は、リソースを除く任意の型を処理できます。オブジェクトをシリアル化するとき、PHP はシーケンス アクションの前にオブジェクトの __sleep() メンバー関数を呼び出します。これにより、オブジェクトがシリアル化される前にクリーンアップ操作を実行できるようになります。同様に、unserialize() を使用してオブジェクトが逆シリアル化されると、__wakeup() メンバー関数が呼び出されます。

[例] オブジェクトをシリアル化するには、serialize() 関数を使用します。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
class WebSit{
    public $name;
    public $url;
    function __construct($name, $url){
        $this->name = $name;
        $this->url  = $url;
    }
}
$websit  = new WebSit(&#39;php中文网&#39;, &#39;https://www.php.cn/&#39;);
$ser_str = serialize($websit);
echo $ser_str;
?>

phpってシリアライズできないんですか?

拡張知識: 逆シリアル化

serialize() 関数を使用してオブジェクトをシリアル化すると、次のような保存を取得できます。文字列をファイルまたはデータベースに保存し、必要に応じて unserialize() 関数を使用して文字列を逆シリアル化します。 unserialize() 関数の構文形式は次のとおりです。 str は、serialize() 関数を使用してシリアル化された文字列です。受信文字列を逆シリアル化できない場合は、FALSE が返され、E_NOTICE が生成されます。

[例] 上記で取得した文字列をデシリアライズします。

unserialize(string $str)

推奨学習: 「phpってシリアライズできないんですか?PHP ビデオ チュートリアル

以上がphpってシリアライズできないんですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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