Kết quả của mã này:Tại sao tôi không thể đặt 0 là khóa đầu tiên trong mảng?
for($i = 0; $i <= 7; $i++){
$eachone[] = array ('a' => '1', 'b' => '2', 'c' => '3');
$a[] = array($i => $eachone);
unset($eachone);
}
$json_string = json_encode($a);
echo $json_string;
là:
[
[
[
{
"a": "1",
"b": "2",
"c": "3"
}
]
],
{
"1": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"2": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"3": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"4": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"5": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"6": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
},
{
"7": [
{
"a": "1",
"b": "2",
"c": "3"
}
]
}
]
Bạn có thể nhận thấy như thế nào nó bỏ qua số đầu tiên, đó là zero? Câu hỏi đặt ra là: Tại sao?
bạn đang sử dụng phiên bản PHP nào? – MANCHUCK
Tôi có thể sao chép điều này trên 5.3.0. Vấn đề nằm ở json_encode - print_r'ing mảng $ a cho thấy rằng nó được lập chỉ mục đúng cách. –
Đó sẽ là phiên bản PHP 5.2.6 –