2016-05-20 4 views
0

jsonからデータをループし、その結果をコントローラの別の関数に入れたいと思います。 JSONフォーマットに上記の関数からJSONのループデータをコードシニターの別の関数に入れよう

public function getApiSuperSpring() { 
    // Initiate curl 
    $service_url="http://obd.id-clouds.net/raja_engine/GPS2.php?CMD=GETVEHICLE&APIKEY=1234&[email protected]"; 
    $curl = curl_init($service_url); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); 
    //execute the session 
    $curl_response = curl_exec($curl); 
    //finish off the session 
    curl_close($curl); 

    $decoded = json_decode($curl_response,TRUE); 

    $arr = $decoded['VEHICLE']['DATA']; 

    $encoded = json_encode($arr, JSON_NUMERIC_CHECK); 

    $decoded_again = json_decode($encoded, TRUE); 


    $data = array(); 
    foreach($decoded_again as $item) { 
     array_push($data, $item['LATITUDE'].','.$item['LONGITUDE']); 
    } 

    return $data; 
} 

JSONの結果を得るために

機能。

array(27) { 
    [0]=> string(18) "-6.261616,106.8098" 
    [1]=> string(17) "-6.26162,106.8101" 
    [2]=> string(18) "-6.140062,106.8314" 
    [3]=> string(18) "-6.175796,106.8762" 
    [4]=> string(18) "-6.257237,106.8226" 
    [5]=> string(18) "-6.324639,106.8879" 
    [6]=> string(18) "-6.256825,106.8229" 
    [7]=> string(18) "-6.139688,106.8313" 
    [8]=> string(18) "-6.221396,106.9848" 
    [9]=> string(18) "-6.566057,106.7637" 
    [10]=> string(18) "-6.180055,106.8224" 
    [11]=> string(18) "-6.220346,106.9223" 
    [12]=> string(18) "-6.233933,106.8254" 
    [13]=> string(18) "-6.369154,106.8271" 
    [14]=> string(18) "-6.210821,106.8166" 
    [15]=> string(18) "-6.224951,106.8282" 
    [16]=> string(17) "-6.219806,106.813" 
    [17]=> string(17) "-6.243915,106.891" 
    [18]=> string(17) "-6.20253,106.8249" 
    [19]=> string(18) "-6.398064,106.8533" 
    [20]=> string(17) "-6.39802,106.8537" 
    [21]=> string(18) "-6.228237,106.8252" 
    [22]=> string(18) "-6.150562,106.7151" 
    [23]=> string(18) "-6.142435,106.7061" 
    [24]=> string(18) "-6.169276,106.9115" 
    [25]=> string(18) "-6.193656,106.8788" 
    [26]=> string(18) "-6.345975,106.8228" } 

私が欲しいものの結果は、上記のフォーマットにそのJSONの結果を渡す方法などの

Coordinate 1 : -6.261616,106.8098 
Coordinate 2 : -6.26162,106.8101 
Coordinate 3 : -6.140062,106.8314 
.. 
Coordinate 26 : 6.345975,106.8228 

を下回っています。

+0

かなり整理された情報を取り入れ、物事に変えたように見えます。 'array [5] => string(18)" -6.324639,106.8879 "'が緯度または経度であるかどうかを知る方法 – RiggsFolly

+0

@RiggsFolly:先にその配列形式をgooglemaps apiの行に使用します。 json形式ですが、形式がlong longのみの場合は、他の関数にどのようにループするのですか? –

+0

ようこそ。 [よくある質問と回答](http://stackoverflow.com/help/on-topic)[よくある質問とその回答](http://stackoverflow.com/help/on-topic) -ask) [完全な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SOは**無料のコーディングやコード変換ではありません。チュートリアルまたは図書館所蔵サービス**あなた自身の問題を解決するために何らかの努力をしたことを示す必要があります。 – RiggsFolly

答えて

0

との大きなないものだと思いたい任意のコントローラにこのヘルパーを呼び出します。

public function abc() { 

    $result_array = $this->getApiSuperSpring(); 

    $marker = array(); 

      foreach($result_array as $item) { 
       echo 'Coordinate'. $item.'<br>'; 
      } 
} 
0

カスタムヘルパーを作り、その中にこの機能をgetApiSuperSpring入れて、あなたは私が自分で手掛かりを持ってcodeignitor

+2

私はいくつかの例がありますか? –

+1

http://www.codexworld.com/create-custom-helper-in-codeigniter/ –

関連する問題