PHP產生json和xml類型介面資料格式_php執行個體

來源:互聯網
上載者:User

php產生介面通訊資料

/** * 產生介面資料格式 */class Response{  /**   * [show 按綜合方式輸出資料]   * @param [int] $code    [狀態代碼]   * @param [string] $message [提示資訊]   * @param array $data  [資料]   * @param [string] $type [類型]   * @return [string]    [傳回值]   */  public static function show($code, $message, $data = array(),$type = ''){    if(!is_numeric($code)){      return '';    }    $result = array(      'code' => $code,      'message' => $message,      'data' => $data    );    if($type == 'json'){      return self::json($code, $message, $data);    }elseif($type == 'xml'){      return self::xml($code, $message, $data);    }else{      //TODO    }  }  /**   * [json 按json方式輸出資料]   * @param [int] $code    [狀態代碼]   * @param [string] $message [提示資訊]   * @param [array] $data  [資料]   * @return [string]     [傳回值]   */  public static function json($code, $message, $data = array()){    if(!is_numeric($code)){      return '';    }    $result = array(      'code' => $code,      'message' => $message,      'data' => $data    );    $result = json_encode($result);    return $result;  }   /**   * [xml 按xml格式產生資料]   * @param [int] $code    [狀態代碼]   * @param [string] $message [提示資訊]   * @param array $data   [資料]   * @return [string]     [傳回值]   */  public static function xml($code, $message, $data = array()){    if(!is_numeric($code)){      return '';    }    $result = array(      'code' => $code,      'message' => $message,      'data' => $data    );    header("Content-Type:text/xml");    $xml = "<?xml version='1.0' encoding='UTF-8'?>\n";    $xml .= "<root>\n";    $xml .= self::xmlToEncode($data);    $xml .= "</root>";    return $xml;  }   public static function xmlToEncode($data){    $xml = '';    foreach($data as $key => $value){      if(is_numeric($key)){        $attr = "id='{$key}'";        $key = "item";      }      $xml .= "<{$key} {$attr}>\n";      $xml .= is_array($value) ? self::xmlToEncode($value) : "{$value}\n";      $xml .= "</{$key}>\n";    }    return $xml;  }} //測試$grade = array("score" => array(70, 95, 70.0, 60, "70"), "name" => array("Zhang San", "Li Si", "Wang Wu", "Zhao Liu", "TianQi"));$response = new Response();$result = $response :: show(200,'success',$grade,'json');print_r($result);

以上所述就是本文的全部內容了,希望大家能夠喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.