2014-06-19 45 views
-2

我根本不知道php,所以對於一個簡單的問題感到抱歉 - 我已經啓動了另一個人的項目,所以現在我正在努力完成它。獲取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(); 
    } 
} 

我需要的是使返回$結果的地方「長度」的值的另一功能。我知道我可以找到另一端的長度 - 在Android的應用程序結果,但這個特定的功能將被改變,所以它將返回20個結果,所以我需要另一個函數,返回長度,所以PLZ幫助

+0

我需要的是使返回$其他功能導致的地方「長度」的值。 – user2976267

+0

這是從我的問題引用 – user2976267

回答

0

要計數你可以做的json中的字符數量:

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

你必須首先把json放入一個變量來計算它,然後輸出它。

要算在你把它變成一個JSON前一個數組中的項目,你可以這樣做:

$length = count($array); 
+0

你確定這是一個單獨的函數,返回一個數組的長度? – user2976267

+0

要計算數組中的#項,您只需使用'$ length = count($ array);' – Vigs

+0

Ronburgundy感謝我的問題的唯一答案。把它作爲答案,我會接受它 – user2976267