PHP開發過程中如何將陣列儲存到資料庫?

2021-09-13 17:28:18 字數 1143 閱讀 4148

在php開發中,最常用的資料型別算是字串和陣列了,且陣列型別的資料通常需要和資料庫進行互動,尤其是對於結構化的資料。

在很多時候,我們需要把數字儲存到資料庫,實現對於結構化資料的直接儲存以及讀取。

有乙個經典用法就是,表單中的核取方塊checkbox叫多項資料提交給php後端,那php接收到的就是乙個陣列,且在很多情況下,有可能還是乙個多維陣列。例如求職資訊中的期望就職的行業是多選的,每個行業中的職位也是多選的,那提交上來的資料是這樣的:

$job = array(

array(

"name"=>"it服務/系統整合",

"subcate"=>array(

"產品經理專員",

"**策劃",

"**運營"

),),

array(

"name"=>"網際網路電子商務",

"subcate"=>array(

"軟體工程師",

"測試工程師")),

);

對於這樣的資料,mysql資料庫是沒有辦法直接寫入的,那麼我們首先考慮到的就是將資料拆分處理,可是這項工作既繁雜,又很容易出錯,很難對應,所以,我們需要另闢蹊徑,將資料進行轉換,操作起來簡單。

1.使用php提供的序列化函式serialize()

$job_serialize = serialize($job); // 序列化成字串

接下來就是將這個字串存入資料庫即可,當我們將資料讀取出來時,再將這個字串進行反串行為陣列即可

$job_restore = unserialize($job_serialize); // 反序列化為陣列

2.使用php提供的函式json_encode()

$job_json = json_encode($job); // 將陣列轉換為json格式的字串

接下來就是將這個字串存入資料庫即可,當我們將資料讀取出來時,再將這個字串進行轉換為陣列即可

$job_dejson = json_decode($job_json,true); // 將json字串轉換為陣列

開發過程中如何快速定位問題

結繩記事,總結 思考,方有成長 作為一枚程式設計師,工作中的經驗會不斷積累,已知的區域不斷擴大,在面對各種程式問題,處理起來會越來越游刃有餘。但即使經驗再豐富的程式設計師,也不可能面面俱到,未知的區域仍然會很大,吾生有涯而學無涯。所以面對未知,如何快速定位問題,抓住主要矛盾,避免像無頭蒼蠅一樣亂撞,...

開發過程中錯誤總結

1 18年5月28日 說明是.xml檔案的問題。去上.xml排查,看是不是註解。或者檔案本身書寫有誤。2 linux下 webstorm,ppt,wps不能書寫漢字。在啟動檔案中修改 啟動 sudo sh webstorm.sh export xmodifiers im fcitx export q...

現代PHP開發過程中的小技巧

以下內容摘自 modern php 現代php,也加入了我的一些理解,如有錯誤,麻煩提出,我好改正 在這之前,我們使用ftp進行 管理,修改乙個php檔案,然後使用ftp上傳,這非常危險。現代php建議使用版本管理軟體進行 版本管理,例如使用git,可建立乙個可審查維護的 歷史,git提供 分支 復...