今天幫客戶開發模組時想嘗試看看能否吧PHP陣列數值直接存進資料表中,然後資料表欄位格式是設成varchar,結果還是GG,存進去的欄位數值只顯示一個Array如下圖: 按照老方法是要先吧陣列用foreach解出來在串成 , 變成字串後儲存,不過現在找到一個更方便的方法了,用php的serialize()函數就能直接吧陣列轉成字串然後存進資料表中,之後再用unserialize()吧資料表字串再轉成陣列,非常好用,實際測試看看!! 假設要儲存像這可以多選的checkbox欄位,取值為陣列$gifts[] 然後我們建一個phpconversion的function放在Xoops模組的function.php檔案裡面 //陣列轉字串or字串轉陣列 function phpconversion($conversion="",$type="") { if($type==' serialize '){ //陣列轉字串 $conversion=serialize($conversion); } if($type==' unserialize '){ //字串轉陣列 $conversion=unserialize($conversion); } return $conversion; } 再到要儲存資料表的地方呼叫函數吧$gifts陣列轉成字串 $gifts=phpconversion($conversion=$_POST['gifts'],$type=" serialize "); //紅字可以設為serialize為陣列轉字串 這樣$gifts存進資料表後就會是字串形式!!不會再顯示Array 接者如果要讀取資料表的gifts欄位值,然後轉成陣列的方法如下!! $giftsoid=phpconversion($conversion=$productlimt['gifts'],$type=" unserialize "); //紅字可以設為unserialize 為字串轉陣列 最後再用foreach的$val值就能取出$gi...