2016-08-02 4 views
0
$url = file_get_contents("http://api.themoviedb.org/3/movie/000008?append_to_response=credits,images&api_key=###"); 

$json = json_decode($url, true) 
$inp = file_get_contents('test3.json'); 
$tempArray = json_decode($inp,true); 
$test = array($title=>$json); 
array_push($tempArray, $test);     
$jsonData = json_encode($tempArray,JSON_FORCE_OBJECT); 
file_put_contents('test3.json', $jsonData); 

, wenn ich neue Array hinzufügen, erstellt es eine ID-Nummer wie diese ->wie man ein Array hinzufügt, ohne eine ID-Nummer zu erstellen?

"Ariel": { 
     "adult": false, 
     "backdrop_path": "\/z2QUexmccqrvw1kDMw3R8TxAh5E.jpg", 
     "belongs_to_collection": { 
      "id": 8384, 
      "name": "Proletariat Collection", 
      "poster_path": null, 
      "backdrop_path": "\/ibLeWo3X3dVo4rxvn4m3y90ms1I.jpg" 
     }, 
"0": { 
     "Varjoja paratiisissa": { 
      "adult": false, 
      "backdrop_path": "\/6YjUX87VtIEuDzanBE6obVxE9V3.jpg", 
      "belongs_to_collection": { 
       "id": 8384, 
       "name": "Proletariat Collection", 
       "poster_path": null, 
       "backdrop_path": "\/ibLeWo3X3dVo4rxvn4m3y90ms1I.jpg" 
      }, 
"1": { 
     "Life in Loops (A Megacities RMX)": { 
      "adult": false, 
      "backdrop_path": "\/udvB86uyzJ6P9vmB83WfrCbnmnI.jpg", 
      "belongs_to_collection": null, 
      "budget": 42000, 
      "genres": { 
       "0": { 
        "id": 99, 
        "name": "Documentary" 
       } 
      } 

erste ist ok, aber dann fügt sie neue ID-Nummer befire Filmtitel .i Dont-ID-Nummer hinzufügen möchten. Kann mir bitte jemand helfen, wie man ein neues Array hinzufügt, ohne ID-Nummer zu erstellen?

+0

Wo 'von – RiggsFolly

+0

title' kommen $ Geben Sie uns ein Beispiel für die JSON-String Sie von der api bekommen – RiggsFolly

Antwort

0
  1. sort() kann das Array-Indizes in Zahlen ändern.
  2. JSON_FORCE_OBJECT möglicherweise nicht benötigt.

So:

array_push($tempArray, $test); 
sort($tempArray); 
$jsonData = json_encode($tempArray); 
0

Ihr Code scheint unvollständig, aber versuchen

$test = array($title=>$json); 
array_push($tempArray, $test); 

von

$tempArray[$title] = $json; 
+0

Ich glaube, Sie könnten Recht haben. – BeetleJuice

0

zu ersetzen Wenn alle Einträge in der test3.json kommen aus der gleichen API (so die gleiche Form haben), sondern nur die Push nächster Eintrag im Array, ohne manuell einen Schlüssel zu setzen. Auf lange Sicht erhalten Sie eine Reihe von Filmen, die leicht zu durchlaufen sind.

$newMovie = json_decode($url,true); 
$allMovies = json_decode(file_get_contents('test3.json'),true); 
$allMovies[] = $newMovie; 

$jsonData = json_encode($allMovies,JSON_FORCE_OBJECT); 
file_put_contents('test3.json',$jsonData); 
Verwandte Themen