如何获取php数组值

时间:2016-07-25 05:28:11

标签: php mysql arrays

我想在我的数据库中插入一个数组,但我只想要值。

现在它给了我所有这些

a:1:{i:0;s:38:"ARRAY VALUE";}

我只想要这个部分" ARRAY VALUE"插入db。

谢谢

4 个答案:

答案 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');