PHP 序列化數組函數用於序列化給定數組並轉換值的可儲存表示形式。序列化數組函數是 PHP 中的內建函數。資料串列化意味著將值轉換為位元序列,以儲存在記憶體緩衝區、檔案中或透過網路傳輸。數組是複雜的資料類型;我們無法直接看到它的內容。 Serialize() 函數將陣列轉換為簡單的字串,我們可以將其保存在文件中並透過 URL 等方式透過網路傳輸
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
序列化陣列函數的語法 –
序列化(陣列);
參數 –
PHP serialize() 陣列函數接受一個參數(陣列/值),這是必要參數。假設我們有一個陣列(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()數組函數範例 –
接下來,我們編寫 PHP 程式碼,透過以下範例更清楚地理解 serialize() 數組函數,其中,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() 陣列函數序列化陣列並將其儲存到檔案中的範例 –
接下來,我們透過下面的範例編寫PHP 程式碼來更清楚地理解序列化()陣列函數,其中序列化()函數用於序列化給定的陣列並將其永久儲存到文字檔案中,如下圖-
代碼:
<?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() 陣列函數序列化陣列與編碼的範例 –
接下來,我們編寫PHP程式碼來理解serialize()數組函數,其中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 Zip 檔案用於以壓縮形式儲存一堆檔案或目錄,稍後也可以解壓縮。
以上是PHP序列化數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!