ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列をシリアル化する
PHP の配列シリアル化関数は、指定された配列をシリアル化し、値の保存可能な表現を変換するために使用されます。配列のシリアル化関数は、PHP の組み込み関数です。データのシリアル化手段は、値をビットのシーケンスに変換して、メモリ バッファやファイルに保存したり、ネットワーク経由で転送したりすることを意味します。配列は複雑なデータ型です。その内容を直接見ることはできません。 Serialize() 関数は、配列を単純な文字列に変換します。これをファイルに保存し、URL などでネットワーク経由で転送できます。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
配列シリアル化関数の構文 –
シリアル化(配列);
パラメータ –
PHPのserialize()配列関数は、必須パラメータである1つのパラメータを( array/value )として受け入れます。ファイルに保存したい配列 (1、2、3、4) があるとします。そのため、最初に関数 Serialize(array) を呼び出して配列をシリアル化する必要があります。この関数は配列をシリアル化し、文字列変換を返します。配列は「a:4:{i:0;i:1;i:1;i:2;i:2;i:3;i:3;i:4;}」として、さらに格納できます。ファイルを送信するか、ネットワーク経由で送信します。
以下に挙げる例は次のとおりです
複素配列をシリアル化するための Serialize() 配列関数の例 –
次に、次の例で、serialize() 配列関数をより明確に理解するために PHP コードを作成します。以下のように、serialize() 関数は指定された配列をシリアル化するために使用されます –
コード:
<?php // create complex array $array = array( 'text', 200, 400, 'apple', array( 2, 'two', 3, 'three' ) ); // printing complex array print("The complex array is : "); print_r( $array ); print( "<br>"); // serialize the complex array $array_string = serialize( $array ); // printing the serialize array print( "The serialize array is : " ); print( $array_string ); print( "<br>"); // unserializing the serialized array $unser_array = unserialize( $array_string ); // printing the unserialized array print_r( $unser_array ); ?>
出力:
上記のコードと同様に、複雑な配列は、serialize() 関数を使用して作成およびシリアル化され、配列のバイト ストリームまたは文字列変換が返されます。さらに、上記の出力でわかるように、シリアル化された配列は unserialize() 関数を使用して元の配列と同じ配列に変換されます。
配列をシリアル化してファイルに保存する Serialize() 配列関数の例 –
次に、次の例では、serialize() 配列関数をより明確に理解するために PHP コードを作成します。以下のように、serialize() 関数は、指定された配列をシリアル化し、テキスト ファイルに永続的に保存するために使用されます。
コード:
<?php // create an array $array = array( 'apple', 'banana', 'mango', 'orange', 'cherry' ); // printing complex array print("The array is : "); print_r( $array ); print( "<br>"); // serialize the complex array $array_string = serialize( $array ); // printing the serialize array print( "The serialize array is : " ); print( $array_string ); print( "<br>"); // save the array string to a Ex text file file_put_contents('Ex.txt', $array_string); // access back the data from the save text file. $file_array = file_get_contents('Ex.txt'); // printing the file array print( "The serialize file array is : " ); print( $file_array ); print( "<br>"); // unserializing the serialized array $unser_array = unserialize( $file_array ); // printing the unserialized array print( "The unserialize file array is : " ); print_r( $unser_array ); print( "<br>"); ?>
出力:
Ex.txt ファイルを確認すると、内容は –
です。上記のコードと同様に、複雑な配列が作成され、シリアル化されます。シリアル化された配列はテキスト ファイルに永続的に保存されます。さらに、保存されたシリアル化された配列が読み戻され、unserialize() 関数を使用して配列に変換されます。これは、上記の出力でわかるように、元の配列と同じです。
配列をシリアル化してエンコードする Serialize() 配列関数の例 –
次に、serialize() 配列関数を理解するための PHP コードを作成します。ここで、serialize() 関数は、以下のように、指定された配列をシリアル化し、URL にエンコードして複数のページに送信します。 >
コード:
<?php // create an array $array = array ( 1 => "one", 2 => "two", 3 => "three" ); // printing an array print("The array is : "); print_r( $array ); print( "<br>"); // serialize the complex array $array_string = serialize( $array ); // printing the serialize array print( "The serialize array is : " ); print( $array_string ); print( "<br>"); // encode the array string $enc_array = urlencode( $array_string ); print( "The encode serialize array is : " ); print( $enc_array ); print( "<br>"); // deencode the encoded array string $dec_array = urldecode( $enc_array ); // printing the file array print( "The deencode serialized array is : " ); print( $dec_array ); print( "<br>"); ?>
出力:
上記のコードと同様に、複雑な配列が作成され、シリアル化されます。シリアル化された配列は、urlencode() 関数を使用してエンコードされます。さらに、エンコードされたシリアル化された配列は、urldecode() 関数を使用して配列にデコードされます。これは、上記の出力でわかるように、元の配列と同じです。
結論
以上がPHP 配列をシリアル化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。