2014-11-21 35 views
1

只刪除鍵我有PHP數組轉換,在json.Now 我有一個JSON格式的代碼想從指數不值在PHP

{ 
    "2": "12:40 to 13:0", 
    "3": "13:0 to 13:20", 
    "4": "13:20 to 13:40", 
    "5": "13:40 to 14:0", 
    "6": "14:0 to 14:20", 
    "7": "14:20 to 14:40", 
    "8": "14:40 to 15:0", 
    "9": "15:0 to 15:20", 
    "10": "15:20 to 15:40", 
    "11": "15:40 to 16:0", 
    "12": "16:0 to 16:20", 
    "13": "16:20 to 16:40", 
    "14": "16:40 to 17:0", 
    "15": "17:0 to 17:20", 
    "16": "17:20 to 17:40", 
    "17": "17:40 to 18:0" 

} JSON格式 但我想刪除索引2,3,4,5形式的代碼,並且希望數據

{ 
     "12:40 to 13:0", 
     "13:0 to 13:20", 
     "13:20 to 13:40", 
     "13:40 to 14:0", 
     "14:0 to 14:20", 
     "14:20 to 14:40", 
     "14:40 to 15:0", 
     "15:0 to 15:20", 
     "15:20 to 15:40", 
     "15:40 to 16:0", 
     "16:0 to 16:20", 
     "16:20 to 16:40", 
     "16:40 to 17:0", 
     "17:0 to 17:20", 
     "17:20 to 17:40", 
      "17:40 to 18:0" 
} 

任何幫助:)

回答

1

是的,你可以刪除鍵,並保持正義價值觀使用PHP的array_values

只是做json_decode然後用array_values

默認情況下,數組索引是數字。

如果您生成陣列,例如$arr = array('PHP', 'JAVA'),你會得到

這是數字數組

$arr = (0 => 'PHP', '1' => 'JAVA')

現在,如果我們創建一個新的關聯數組。

$arr = ('scripting' => 'PHP', 'programming' => 'JAVA')

所以,array_values陣列成從關聯數組數字數組轉換。

0

與嘗試 -

$json = '{ 
    "2": "12:40 to 13:0", 
    "3": "13:0 to 13:20", 
    "4": "13:20 to 13:40", 
    "5": "13:40 to 14:0", 
    "6": "14:0 to 14:20", 
    "7": "14:20 to 14:40", 
    "8": "14:40 to 15:0", 
    "9": "15:0 to 15:20", 
    "10": "15:20 to 15:40", 
    "11": "15:40 to 16:0", 
    "12": "16:0 to 16:20", 
    "13": "16:20 to 16:40", 
    "14": "16:40 to 17:0", 
    "15": "17:0 to 17:20", 
    "16": "17:20 to 17:40", 
    "17": "17:40 to 18:0" 
}'; 

$data = (array)json_decode($json); //your json data 
$data_values = array_values($data);//if you want array 
$newStr = "{".implode(',', $data_values)."}"; // if you want string 
$newJson = json_encode($data_values); //if you want json 
0

我希望你要刪除從JSON的指數,這裏是這樣的:

$json = '{ 
    "2": "12:40 to 13:0", 
    "3": "13:0 to 13:20", 
    "4": "13:20 to 13:40", 
    "5": "13:40 to 14:0", 
    "6": "14:0 to 14:20", 
    "7": "14:20 to 14:40", 
    "8": "14:40 to 15:0", 
    "9": "15:0 to 15:20", 
    "10": "15:20 to 15:40", 
    "11": "15:40 to 16:0", 
    "12": "16:0 to 16:20", 
    "13": "16:20 to 16:40", 
    "14": "16:40 to 17:0", 
    "15": "17:0 to 17:20", 
    "16": "17:20 to 17:40", 
    "17": "17:40 to 18:0" 
    }'; 
$json = json_encode(array_values(json_decode($json,true))); 
0

試試這個

<?php 
$json = '{ 
    "2": "12:40 to 13:0", 
    "3": "13:0 to 13:20", 
    "4": "13:20 to 13:40", 
    "5": "13:40 to 14:0", 
    "6": "14:0 to 14:20", 
    "7": "14:20 to 14:40", 
    "8": "14:40 to 15:0", 
    "9": "15:0 to 15:20", 
    "10": "15:20 to 15:40", 
    "11": "15:40 to 16:0", 
    "12": "16:0 to 16:20", 
    "13": "16:20 to 16:40", 
    "14": "16:40 to 17:0", 
    "15": "17:0 to 17:20", 
    "16": "17:20 to 17:40", 
    "17": "17:40 to 18:0" 

}'; 

echo json_encode(array_values(json_decode($json, true))); 
?> 

{"12:40 to 13:0","13:0 to 13:20",.....}這不是當項不JOSN有效的JSON格式。

正確的格式是["12:40 to 13:0","13:0 to 13:20","13:20 to 13:40".....]