如何在不创建 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);
  1. sort() 可以将数组索引转换为数字。
  2. JSON_FORCE_OBJECT可能不需要。

所以:

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