首頁 >後端開發 >php教程 >如何將具有非連續數字鍵的 PHP 陣列編碼為 JSON 陣列?

如何將具有非連續數字鍵的 PHP 陣列編碼為 JSON 陣列?

Linda Hamilton
Linda Hamilton原創
2024-11-12 06:52:01858瀏覽

How to Encode a PHP Array with Non-Consecutive Numeric Keys as JSON Array?

使用json_encode() 建立陣列字串

使用json_encode() 編碼陣列時,數字鍵有時會導致產生的JSON 字串包含物件而不是一個陣列。出現此問題的原因是 JavaScript 陣列需要連續的數字索引。

要在不訴諸正規表示式操作的情況下解決此問題,請在外部陣列結構上使用 array_values()。此功能消除了原來的鍵並用從零開始的連續編號代替它們。以下是一個範例:

// Non-consecutive numeric keys in a PHP array
$array = array(
  2 => array("Afghanistan", 32, 13),
  4 => array("Albania", 32, 12)
);

// Remove original keys and create consecutive numbers
$out = array_values($array);

// Encode the modified array
echo json_encode($out);
// Output: [[Afghanistan, 32, 13], [Albania, 32, 12]]

此方法可確保編碼的 JSON 字串是陣列的數組,正如預期的那樣。

以上是如何將具有非連續數字鍵的 PHP 陣列編碼為 JSON 陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn