PHP保存數組到數據庫


數組是 PHP 開發中使用最多的數據類型之一,對於結構化的數據尤為重要。

很多時候我們需要把數組保存到數據庫中,實現對結構化數據的直接存儲和讀取。

其中一個案例就是,對於 Form 提交的多選 checkbox 數據,PHP后端就收到的數據就是一個數組,而且有可能還是多維數組。例如,如下一個員工數組:

$staff = array
(
 array("name" => "洪七", "number" => "101", "sex" => "男", "job" => "總經理", "mobile" => array("01234567890", "9876543210")), array("name" => "郭靖", "number" => "102", "sex" => "男", "job" => "開發工程師"), array("name" => "黃蓉", "number" => "103", "sex" => "女", "job" => "產品經理"), );

對於這樣的數據,MySQL數據庫是無法直接寫入的,那么有什么辦法呢?

有,但是需要稍微轉換一下,不過也很簡單。就是使用PHP自帶的serialize()或者json_encode()函數序列化數據成字符串:

// 寫入數據庫之前
$staff_serialize = serialize($staff);            // 序列化成字符串 $staff_json = json_encode($staff); // JSON編碼數組成字符串 // 讀取數據庫后 $staff_restore = unserialize($staff_serialize); // 反序列化成數組 $staff_dejson = json_decode($staff_json, true); // JSON解碼成數組

之后從數據庫里面讀出來的數據還是字符串格式的,用unserialize()json_decode()函數轉換成數組就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM