如何在不创建 ID 号的情况下添加数组?
how to add array without creating a id number?
$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);
当我添加新数组时,它会创建一个像这样的 ID 号 - >
"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"
}
}
第一个没问题,但随后它添加了新的 ID 号以触发电影标题。我不想添加 ID 号。请问谁能帮我如何在不创建 ID 号的情况下添加新数组?
您的代码似乎不完整,但请尝试替换
$test = array($title=>$json);
array_push($tempArray, $test);
来自
$tempArray[$title] = $json;
如果 test3.json
中的所有条目都来自同一个 API(因此具有相同的形状),只需将数组中的下一个条目压入,而无需手动设置键。在长运行中你会得到一个所有电影的数组,很容易遍历。
$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);
- sort() 可以将数组索引转换为数字。
- JSON_FORCE_OBJECT可能不需要。
所以:
array_push($tempArray, $test);
sort($tempArray);
$jsonData = json_encode($tempArray);
$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);
当我添加新数组时,它会创建一个像这样的 ID 号 - >
"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"
}
}
第一个没问题,但随后它添加了新的 ID 号以触发电影标题。我不想添加 ID 号。请问谁能帮我如何在不创建 ID 号的情况下添加新数组?
您的代码似乎不完整,但请尝试替换
$test = array($title=>$json);
array_push($tempArray, $test);
来自
$tempArray[$title] = $json;
如果 test3.json
中的所有条目都来自同一个 API(因此具有相同的形状),只需将数组中的下一个条目压入,而无需手动设置键。在长运行中你会得到一个所有电影的数组,很容易遍历。
$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);
- sort() 可以将数组索引转换为数字。
- JSON_FORCE_OBJECT可能不需要。
所以:
array_push($tempArray, $test);
sort($tempArray);
$jsonData = json_encode($tempArray);