我想在我的数据库中插入一个数组,但我只想要值。
现在它给了我所有这些
a:1:{i:0;s:38:"ARRAY VALUE";}
我只想要这个部分" ARRAY VALUE"插入db。
谢谢
答案 0 :(得分:0)
使用unserialize方法将serialize数组转换为php数组
语法:
<PTC>
<_attributes>
<Quantity>1</Quantity>
</_attributes>
<_value>ADT</_value>
</PTC>
答案 1 :(得分:0)
这是对存储数据的问题的答案,而不是问题中也存在的序列化问题的答案。
最好的方法是使用像这样的json编码
def calcBG(ftemp):
"This calculates the color value for the background"
variance = ftemp - justRight; # Calculate the variance
adj = calcColorAdj(variance); # Scale it to 8 bit int
bgList = [0,0,0] # initialize the color array
if(variance < 0):
bgR = 0; # too cold, no red
bgB = adj; # green and blue slide equally with adj
bgG = 255 - adj;
elif(variance == 0): # perfect, all on green
bgR = 0;
bgB = 0;
bgG = 255;
elif(variance > 0): # too hot - no blue
bgB = 0;
bgR = adj; # red and green slide equally with Adj
bgG = 255 - adj;
这不是最常推荐的存储数据的方式
正确的方法是创建一个新表并使用连接...这对于测试事物时更加容易快速解决$var = json_encode($array);
(INSERT TO SQL HERE)
-------------------
RETREIVE VALUE
-------------------
$var = json_decode($row->mysqli_assoc);
// NOT the $var will be a object not a array when it gets out...
答案 2 :(得分:0)
一些解决方案:
$arr = unserialize('a:1:{i:0;s:11:"ARRAY VALUE";}');
# method 1 (array with values)
foreach ($arr as $value) {
echo "Value is $value";
}
# method 2 (array vith only one value)
$value = $arr[0];
echo "Value is $value";
答案 3 :(得分:0)
希望这会有所帮助,我假设您只想保存数组值而不是数据库中的键
//I assume your array is like this
$array = array('a'=>20,'b'=>40,'c'=>60);
//get array values
$newArray = array_values($array);
$arrToSave = serialize($newArray);
and while retrieving from database you need to use
$array = unserialize('Retrieved field name');