首頁 > 後端開發 > php教程 > 如何使用 json_encode 將 PHP 陣列編碼為 JSON 陣列?

如何使用 json_encode 將 PHP 陣列編碼為 JSON 陣列?

Barbara Streisand
發布: 2024-12-21 18:51:10
原創
637 人瀏覽過

How to Encode a PHP Array as a JSON Array Using `json_encode`?

使用json_encode 將PHP 數組編碼為JSON 數組

在PHP 中,json_encode 函數對應於將PHPJ項。預設情況下,PHP 陣列被編碼為 JSON 物件。但是,在某些情況下,需要將陣列編碼為 JSON 陣列。

問題陳述

考慮下面的PHP 陣列:

$array = [
    [
        "id" => 0,
        "name" => "name1",
        "short_name" => "n1"
    ],
    [
        "id" => 2,
        "name" => "name2",
        "short_name" => "n2"
    ]
];
登入後複製

在此陣列上呼叫json_encode 後,產生的JSON 是object:

{
    "0": {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    "2": {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
}
登入後複製
這不是所需的輸出,因為我們需要JSON數組。

將 PHP 數組編碼為JSON 數組,數組必須是連續的,這意味著它的鍵必須是從 0 開始的連續整數。在提供的範例中,陣列鍵是 0 和 2,即不是連續的。

要讓數組連續,我們可以使用array_values 函數:

echo json_encode(array_values($array));
登入後複製
這將按順序重新索引數組,產生以下JSON 輸出:

[
    {
        "id": 0,
        "name": "name1",
        "short_name": "n1"
    },
    {
        "id": 2,
        "name": "name2",
        "short_name": "n2"
    }
]
登入後複製
透過確保數組是連續的,json_encode 將其正確編碼為JSON 數組。

以上是如何使用 json_encode 將 PHP 陣列編碼為 JSON 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板