我根本不知道php,所以对于一个简单的问题感到抱歉 - 我已经让另一个人启动了这个项目,所以现在我试图完成它。
问题是 - 我正在制作一个Android应用程序,我无法在不更改php和我不知道的语言的情况下进行更改。
这一部分:
function getPlaces(){
$result = array();
$sql = "SELECT id, name, short_description, photo_list, selected, recommended, isTOP FROM place
WHERE id IN(SELECT id_place FROM rubric_place WHERE id_rubric IN(SELECT id FROM rubric WHERE name = '".$_REQUEST["rubric"]."')) ORDER BY isTOP DESC";
getConnect();
$query = mysql_query($sql);
if(!$query){
error100();
}else {
$result['code'] = 200;
for ($i = 0; $i < mysql_num_rows($query); $i++) {
$row = mysql_fetch_assoc($query);
$result["places"][$i] = $row;
$sql = "SELECT * FROM rubric WHERE id IN(SELECT id_rubric FROM rubric_place WHERE id_place = ".$row[id].")";
$queryModule = mysql_query($sql);
if($queryModule){
for ($k = 0; $k < mysql_num_rows($queryModule); $k++) {
$rowModule = mysql_fetch_assoc($queryModule);
$result["places"][$i]["rubrics"][$k] = $rowModule;
}
}
$sql = "SELECT SUM(rating)/COUNT(rating) AS rating FROM comment WHERE id_place = ".$row[id];
$queryModule = mysql_query($sql);
if($queryModule){
$rowModule = mysql_fetch_assoc($queryModule);
$result["places"][$i]["rating"] = $rowModule[rating];
}
}
echo json_encode($result, JSON_UNESCAPED_UNICODE);
exit();
}
}
我需要的是创建另一个函数,在$ result中返回值&#34; length&#34;的地方。我知道我可以找到另一端的长度 - 在Android的应用程序结果中,但是这个特定的功能将被更改,因此它将返回20个结果,所以我需要另一个返回长度的函数,所以plz help
答案 0 :(得分:0)
要计算json中的字符数,您可以这样做:
$string = json_encode($result, JSON_UNESCAPED_UNICODE);
$length = strlen($string);
在输出之前,你必须首先将json放入变量中进行计数。
要在将数组转换为json之前对数组中的项进行计数,您可以执行以下操作:
$length = count($array);