[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]
資料庫存的是這樣的資料 ['7','2'] 7代表產品id 2代表產品購買的數量
現在怎麼 還原成 php 能使用的陣列尼?
滿天的星座2017-06-08 11:03:38
屬於偷雞取巧的方法:當然,前提是你的數據都是完整的,不會有負數,NULL什麼的
$a = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
$result = array();
preg_match_all("/'(\d*)'/", $a, $matches);
for ($i = 0; $i < count($matches[1]); $i += 2){
$result[(int)$matches[1][$i]] = (int) $matches[1][$i+1];
}
親測成功
大家讲道理2017-06-08 11:03:38
你沒說具體格式,我就先採用下面這種格式了
$data = [['7','2'],['8','2'],['11','2'],['10','2'],['9','2']];
$products = array();
foreach ($data as $tmp) {
$products[] = array(
'id' => $tmp[0],
'total' => $tmp[1]
);
}
var_dump($products);
淡淡烟草味2017-06-08 11:03:38
謝邀!
你這個就是數組,你直接循環好了:
$arr = [['7','2'],['8','2'],['11','2'],['11','2'],['11','2']];
var_dump($arr[0]);die;
這個陣列等同於:
$arr = array(
array('7','2'),
array('8','2'),
array('11','2'),
array('11','2'),
array('11','2'),
);
var_dump($arr[0]);die;
phpcn_u15822017-06-08 11:03:38
你這麼存進去的,再反解回來不就結了麼。
$str = json_encode(array(
array(7, 2),
array(8, 2),
));
var_dump(json_decode($str));
迷茫2017-06-08 11:03:38
標準json需要雙引號, 所以只要把單引號轉成雙引號, 再json_decode
$sqldata = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
$sqldata = str_replace('\'', '\"', $sqldata );
$data = json_decode($sqldata);
echo $data[0][1]; // >> 2
女神的闺蜜爱上我2017-06-08 11:03:38
$str = "[['7','2'],['8','2'],['11','2'],['10','2'],['9','2']]";
var_dump(eval('return '.$str.';'));
試試