获取一段php的结果

时间:2014-06-19 22:50:37

标签: php sql

我根本不知道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

1 个答案:

答案 0 :(得分:0)

要计算json中的字符数,您可以这样做:

$string = json_encode($result, JSON_UNESCAPED_UNICODE);
$length = strlen($string); 

在输出之前,你必须首先将json放入变量中进行计数。

要在将数组转换为json之前对数组中的项进行计数,您可以执行以下操作:

$length = count($array);