您好,欢迎访问一九零五行业门户网

请问这是什么格式的数据?

a:4:{i:0;i:392;i:1;i:393;i:2;i:394;i:3;i:395;}
这是从数据库读出来的 。判断这个is_array 返回1 
说是个数组类型。这怎么才能转换成string或者给js用呢。。谢谢
回复讨论(解决方案) 这是 php 序列化(serialize)数据
用 is_array 判断不可能返回 1
除非你做了反序列化(unserialize)
$a = unserialize('a:4:{i:0;i:392;i:1;i:393;i:2;i:394;i:3;i:395;}');echo '[' . join(',', $a) . ']';//或echo json_encode($a);
[392,393,394,395]
就可以给 js 用了
1、序列化的数据先使用unserialize反序列化,得到原始的数组;
2、如果要将php里的数组传给js用,那得转成json,然后js访问json数据
2l解答正确。不过貌似这个只能赋值给session
我直接unserialize报错。
附代码。谢谢
if($action == 'getproductsname'){ $works_id = isset($_get[works_id])?intval($_get[works_id]):0; $tmp = $db->selectassoc('*','works','works_id',$works_id); if($tmp == false){ exit('读取数据库失败!'); } $info = $tmp[0];unset($tmp); ds('worksid'); rs('worksid',unserialize($info['works_pics'])); $imageid = gs('worksid'); if(is_array($imageid))$tmp = implode(',',$imageid); //将array 转换成string if(isset($tmp)){ $sql = select * from pics where id in(.$tmp.) order by id asc; $info = $db->qa($sql); if($info != false){ $ct = count($info); for($i=0;$i<$ct;$i++){ //echo '删除'; echo ''.$info[$i]['title'].''; } }else{echo '请上传图片!';} } }
其它类似信息

推荐信息