2016-11-04 6 views
0

jsonをデータソースとして使用して簡単なPHPアプリケーションを構築しようとしています。 これまでのところ、jsonファイルから/に追加されたeデータを取り除いたが、それを更新するのに苦労している。json配列のレコードをPHPで編集する

私のJSONファイルは、このようなものです:

{"categories":[ 
     {"id":"08a97ed88c141d179bf7710afe60bfe9","title":"TEST","thumb":".\/images\/test.jpg","desc":"adasdasdasdasdasdasdasdasd","featured":true}, 
     {"id":"8f1bf832e9edb8564f517eb62d4f3b7c","title":"TEST 2","thumb":".\/images\/test 2.jpg","desc":"asdsdsdsadsadasdsdsadasdasdasdsadas","featured":true} 
     ]} 

私は、レコードキーのいずれかから値を更新できるようにしたいです。

$arr = file_get_contents('./data/categories.json'); 
$arr_obj = json_decode($arr, true); 

foreach($arr_obj['categories'] as $key) { 
    if($key['id'] == $_POST['catId']){ 
     $key['desc'] = $_POST['catDesc']; 
    } 
} 
echo json_encode($arr_obj); 

しかし、誰更新はJSONで作られていない。ここで

は、私はそれを更新しようとする方法です。

助けが賞賛されます!

ありがとうございました!

<?php 
//... 
$arr = file_get_contents('./data/categories.json'); 
$arr_obj = json_decode($arr, true); 

foreach($arr_obj['categories'] as $category) { 
    if($category['id'] == $_POST['catId']){ 
     $arr_obj['categories'][$category]['desc'] = $_POST['catDesc']; 
    } 
} 
echo json_encode($arr_obj); 

差は、独自のコードがないで元のエントリには、その配列内のエントリのコピーに説明を設定することです:私はこれを前提とし

答えて

0

は、あなたが実際に何をしたいです配列。

+0

ありがとうございました..私の問題を解決しました! –