我从数据库读取出来的字符串,,,$str = "a:1:{i:42;a:1:{s:5:"price";s:4:"0.02";}}";//应该是序列化了,
//我想要这个的结果,$str = "0.02";  这个结果。

解决方案 »

  1.   

    額,錯了 是這個兩個函數 
    serialize
    unserialize
      

  2.   


    谢谢你的问答,我对PHP也不太熟悉,能具体说下吗。
      

  3.   

    $str = "a:1:{i:42;a:1:{s:5:\"price\";s:4:\"0.02\";}}";
    $s=unserialize($str);
    print_r($s);
      

  4.   

    $str = "a:1:{i:42;a:1:{s:5:\"price\";s:4:\"0.02\";}}";
    $s=unserialize($str);
    print_r($s);
      

  5.   


    $str = "a:1:{i:42;a:1:{s:5:\"price\";s:4:\"0.02\";}}";
    $s=unserialize($str);
    //print_r($s);echo $s[42]['price'];
      

  6.   


    我在数据库读出来的是这样的,a:1:{i:42;a:1:{s:5:"price";s:4:"0.02";}}
    在用unserialize这个函数时候,打印的结果是,Array 这个,空的,不知道是怎么回事啊,
      

  7.   

    打印数组应该用print_r() 或者 var_dump()而不是echo
    echo 出来 是 Array
      

  8.   

    $str = "a:1:{i:42;a:1:{s:5:\"price\";s:4:\"0.02\";}}";//序列化之后的数据$s=unserialize($str);//反序列化,还原数据为数组print_r($s);//打印数组类型!
      

  9.   


    谢谢你,知道了,我还有个问题想问下,echo $s[42]['price'];
    就是这个取值的时候,那个42 不是固定的,a:1:{i:26;a:1:{s:5:"price";s:4:"0.02";}}
    还有可能是这样的结果,这样取值就是26了,怎么能弄成动态的呢。
      

  10.   

    foreach()这个数组···哥们 你该看书了
      

  11.   

    +1  
    echo 是php语句只能打印简单的语句
    print_r 能打印复杂类型(对象 数组)
    学习啦! serialize  序列化 unserialize