我的数组有一些值
0 => '1'
1 => 'moisturizer'
2 => 'skincare'
我正在尝试将该数组转换为字符串,我当前正在使用
json_encode
$value = array_shift( $val_ary ); //val_ary is that array
echo json_encode($value); // This will echo my data like
["1","moisturizer","skincare"]
稍后,我想在mysql db表中插入这些值
mysql_query("INSERT INTO TABLE (sno, type, category)
VALUES ('json_encode($value)')");
这行吗?
还是在插入数据库之前
json_decode
? 最佳答案
json_encode(array)
返回一个json字符串,而MySQL insert的值应该是(value1,value2,…)。json_decode(json_string)
返回一个数组,并用“,”分隔数组对象粘合数组块。如果您所做的唯一事情是将其插入到数据库中,则无需将其转换为json。通常json用于在页面/服务器之间传递信息(例如AJAX调用)或将数组保存为DB中的字符串
如果数据是json格式的:
$value = json_encode(array(value1,value2,...))
做
mysql_query("INSERT INTO TABLE (sno, type, category)
VALUES ('".implode(",",json_decode($value))."')");
如果以数组形式获取数据:
$value = array(value1,value2,...)
做
mysql_query("INSERT INTO TABLE (sno, type, category)
VALUES ('".implode(",",$value)."')");