我该如何改进这段代码? (内爆/爆炸/反序列化)

时间:2010-09-22 20:08:57

标签: php

我不满意我尽可能做到这一点。我从数据库列位置获取序列化代码。我假设我必须破坏序列化数据,然后爆炸它,因为当我只是使用implode我无法访问中的条目所以我使用爆炸。我确定有更好的方法吗?

$adid = $_GET['id'];
$query = "SELECT * FROM ad WHERE id = '$adid'";
$data = mysqli_query($dbc, $query);
$ad = mysqli_fetch_array($data);



 //retrieve serialized data containing county id's
    $counties = explode(" ", implode(" ", unserialize($ad['location'])));

for ($i = 0; $i <= count($counties); $i++) {
echo getCounty($counties[$i]); //getCounty: enter county id and return county name
}


FYI: $ad['location'] = a:2:{i:0;s:1:"2";i:1;s:2:"20";}

2 个答案:

答案 0 :(得分:2)

不要使用implode(),当你有一个序列化的字符串时,unserialize()只会有诀窍。

答案 1 :(得分:0)

unserialize()应该返回一个数组。你为什么爆炸然后爆炸?