2014-02-12 114 views
0

我加載JSON文件來自:PHP - 加載JSON,編輯和保存

{ "timestampRead": [11, 22, 33], "timestampCurrent": [66, 77, 88] } 

到PHP:

$local_json = json_decode(file_get_contents('/Temp/chat-users.json')); 

,我不知道我可以:

  1. 更新timestampRead所有值($local_json->timestampRead[] = '99'?
  2. 更新一個在timestampCurrent(值$local_json->timestampCurrent[2] = '33'
  3. 保存更新的JSON到文件($local_json array to json
+0

[如何更新/編輯以.json的可能重複文件使用PHP](http://stackoverflow.com/questions/17806224/how-to-update-edit-json-file-using-php) – vzamanillo

+0

你嘗試過什麼嗎?它有用嗎?如果不是,它以什麼方式不起作用? –

+0

線索 - 1和2工作。 3 - 你認爲json_decode的反面可能是什麼?你認爲file_get_contents的反義詞可能是什麼?最後的線索 - php.net –

回答

1

一旦有裝入變量的JSON數據,您可以訪問每個屬性,你會正常類:

$local_json->timestampRead = $new_timestampRead; 
$local_json->timestampCurrent[an_index] = "whatever you want"; 

要保存數據返回到一個文件,你可以使用一個叫做file_put_contents()file_get_contents()計數器部分:

file_put_contents("path/to/file", $local_json); 
+0

$ local_json-> timestampRead = $ new_timestampRead; - 但這段代碼將我的數組更改爲字符串。我想要將所有數組值更改爲一個新值 –

+0

@KubaŻukowski - 如果'$ new_timestampRead'是一個數組,那麼將使用什麼。 – Lix

+0

我知道,但在這個例子中,我必須知道這個數組有多少元素,make和...。你懂。所以我不能更改數組上的所有值? –

2

1)更新所有值timestampRead:$local_json->timestampRead = array([your comma separated values]);

2)timestampCurrent更新一個值:$local_json->timestampCurrent[2] = '33';(正確)

3)保存更新JSON到文件:file_put_contents('path/to/file', json_encode($local_json));