如果我這樣做:不同結果json_encode()PHP
$new_arr = array(
0 => 'keyboard',
1 => 'mouse',
2 => 'computer'
);
print_r(json_encode($new_arr));
輸出:
[ 「鍵盤」, 「鼠標」, 「計算機」]
但說我從我的數據庫獲取「產品」表的所有行,我這樣做:
$product_with_id_map = array();
foreach($query as $result) {
$product_with_id_map[$result->id] = $result->name;
}
print_r(json_encode($product_with_id_map));
輸出:
{ 「0」: 「鍵盤」, 「1」: 「鼠標」, 「2」: 「計算機」}
我確實需要保持的密鑰數組當我json_encode也可以告訴我如何實現第一個例子中的第二個輸出?
只是讓我的問題正確:第二個輸出形式是所需的,對吧? – vzwick
yes確切地說,我想保留數組鍵在我的json_encode –
*「我真的需要保留陣列的關鍵,當我json_encode ...」*呃,從技術上說,你有。兩個例子中的鍵都是相同的。但第一個是一個數組,另一個只是一個完全由數字組成的屬性鍵的對象。如果解碼這個JSON的語言是JavaScript,這是一個非常微妙的差異(因爲數組鍵是JavaScript中的字符串 - [是,真的](http://blog.niftysnippets.org/2011/01/myth-of-arrays。 HTML))。其他語言可能不同。 –