我一直在尝试将字段从mysql_fetch_array(urlencoded)转换为urldecode,然后转换为JSON(json_encode)
以下是我正在使用的不起作用:输出仍然是urlencoded
$query = "SELECT * FROM table WHERE tableId=$tableId";
$result = mysql_fetch_array(mysql_query($query));
foreach($result as $value) {
$value = urldecode($value);
}
$jsonOut = array();
$jsonOut[] = $result;
echo (json_encode($jsonOut));
有什么想法吗?
答案 0 :(得分:1)
耶....!您没有使用函数返回的值更新$result
。 $value
需要通过引用传递。
foreach($result as &$value) {
$value = urldecode($value);
}
或
foreach($result as $i => $value) {
$result[$i] = urldecode($value);
}
当你这样做时......
foreach($result as $value) {
$value = urldecode($value);
}
在foreach
的迭代时,函数的结果会丢失。您正在尝试更新$result
中存储的每个值,但这种情况并未发生。
答案 1 :(得分:0)
尝试:
$query = "SELECT * FROM table WHERE tableId=$tableId";
$result = mysql_query($query);
$value = array();
while($row = mysql_fetch_array($result))
$value[] = urldecode($row);
}
$jsonOut = array();
$jsonOut[] = $result;
echo (json_encode($jsonOut));