Trong nhiều dự án có đôi lúc bạn sẽ lưu dữ liệu vào những file tĩnh chẳng hạn json, vậy làm sao để có thể tạo được file json và có cách nào để có thể chỉnh sửa nội dung các phần tử cũng như xóa phần tử trong tệp tin json đó không? Bài viết này sẽ hướng dẫn các bạn từng bước để làm các điều đó thông qua một ví dụ cụ thể tạo danh sách quản lý sách đơn giản.
Tạo tệp tin JSON
Để tạo một tệp tin json trong PHP các bạn có thể sử dụng code như ví dụ dưới đây:
Ví dụ
<?php
$book_array = array();
$id = 0;
while($id <= 100){
$id++;
$book_item = array(
'id' => $id,
'title' => 'Tiêu đề sách '.$id,
'desc' => 'Giới thiệu ngắn về sách '.$id,
'author' => 'Tên tác giả sách '.$id,
'create' => time(),
);
array_push($book_array, $book_item);
}
$file = 'books.json';
$fp = fopen($file, 'w');
fwrite($fp, json_encode($book_array));
fclose($fp);
echo $file.' tạo thành công';
?>
Cập nhật phần tử trong JSON
Dưới đây là cách cập nhật sách thỏa mãn điều kiện có ID=2
Ví dụ
<?php
$books = file_get_contents('books.json');
$book_array = json_decode($books, true);
foreach($book_array as &$a){
if($a['id'] == 2){
$a['title'] = 'Quyển sách số 2 đã được thay đổi';
$a['desc'] = 'Nội dung giới thiệu về quyển sách số 2 cũng đã được thay đổi nhé';
}
}
$file = 'books.json';
$fp = fopen($file, 'w');
fwrite($fp, json_encode($book_array));
fclose($fp);
echo $file.' cập nhật thành công';
?>
Xóa phần tử trong JSON
Xóa đi sách thỏa mãn điều kiện có ID=3
Ví dụ
<?php
$books = file_get_contents('books.json');
$book_array = json_decode($books, true);
$i=0;
foreach($book_array as &$a){
if($a['id'] == 3){
unset($book_array[$i]);
}
$i++;
}
// rebase array
$book_array = array_values($book_array);
$file = 'books.json';
$fp = fopen($file, 'w');
fwrite($fp, json_encode($book_array));
fclose($fp);
echo $file.' cập nhật thành công';
?>
Hy vọng qua bài này đã giúp các bạn tìm được cách xử lý tốt với tệp tin JSON trong khi lập trình PHP