如果你想存儲在數據庫中,你的PHP數組可以用json_encode
或serialize
嘗試,當你需要從你的數據庫retrive數據,你可以使用json_decode
或unserialize
。
使用JSON
例子(存儲爲JSON):
$myArray = array('name' => 'Jack', 'lastname' => 'Smith', 24);
$toStore = json_encode($myArray); // return a string: {"name":"Jack","lastname":"Smith","0":24}
mysqli_query($link,
'INSERT INTO myTable (data)
VALUES ("' . mysqli_real_escape_string($link, $toStore) . '")'
);
實例(從JSON檢索):
$query = mysqli_query($link, 'SELECT FROM MyTable WHERE id = ...');
$row = mysqli_fetch_assoc($query);
$row = json_decode($row); // return a array: array('name' => 'Jack', 'lastname' => 'Smith', 24)
使用serialize
示例(商店序列化): $ myArray = array('name'=>'Jack','lastname'=>'Smith',24); $ toStore = serialize($ myArray); //返回一個字符串:a:3:{s:4:「name」; s:4:「Jack」; s:8:「lastname」; s:5:「Smith」; i:0; i:24 ;}
mysqli_query($link,
'INSERT INTO myTable (data)
VALUES ("' . mysqli_real_escape_string($link, $toStore) . '")'
);
實例(檢索序列):
$query = mysqli_query($link, 'SELECT FROM MyTable WHERE id = ...');
$row = mysqli_fetch_assoc($query);
$row = unserialize($row); // return a array: array('name' => 'Jack', 'lastname' => 'Smith', 24)
後:
如果需要訪問您從轉換後的數組數據,可以調用這樣的:
$row['name'] // return "Jack"
種
另一種方式
正則表達式:
您可以嘗試使用正則表達式,但這不是最好的方式,因爲有時太慢處理數據,也許,如果你不知道安全問題,這絕對不是最好的方法。
標記者:
您可以嘗試創建自己的令牌處理器,喜歡的模板引擎,但是這是最大的方式...
瞭解更多的功能:
優點:
- 支持多種數據類型:多維
array
,object
, integer
,float
,string
,許多除resource
更多的數據。
- 自PHP4以來本地支持
serialize
和unserialize
。
- 本機支持
json_encode
和json_decode
自PHP 5.2.0以來
- 快速和安全的編碼和解碼。
你從哪裏得到這個字符串? –
你爲什麼要將數組表示爲字符串?改用serialize或json_encode。 –
我只是從一個鏈接中得到這個字符串,我通過PHP函數file_get_contents讀取了這個鏈接,它提供了一個數組。因爲這個函數的錯誤,我將該數組作爲字符串。 –