2018年11月22日 星期四

PHP 讀寫陣列及 JSON 格式檔案

2018.11.22  常遇到 JSON 格式的檔案如何讀寫也是要費一番功夫,這裡用轉換成物件方式處理。
<?php
//☆☆☆ 陣列檔案讀寫方式。

//設定陣列
$client_array=array("id"=>101,"IP"=>array("192.168.0.2","192.168.0.5"),"Count"=>7);

//印出陣列內容
print_r($client_array);echo "<br />";

//使用serialize函數寫入檔案,不使用會出現錯誤。
if (!file_put_contents("client.txt",serialize($client_array)))
    {echo "檔案寫入失敗";exit;}

//檔案內容是a:3:{s:2:"id";i:101;s:2:"IP";a:2:{i:0;s:11:"192.168.0.2";i:1;s:11:"192.168.0.5";}s:5:"Count";i:7;}

//讀取檔案
$client_read = unserialize(file_get_contents("client.txt"));
print_r($client_read);echo "<br />";

//單獨列出某陣列內容
echo $client_read["IP"][1]."<br />";

//☆☆☆ JSON 物件檔案讀寫方式。

//陣列轉成 JSON 物件
$client_json=json_encode($client_array);

//印出物件內容
print_r($client_json);echo "<br />";
if (!file_put_contents("client-json.txt",serialize($client_json)))
    {echo "檔案寫入失敗";exit;}

//檔案內容是s:55:"{"id":101,"IP":["192.168.0.2","192.168.0.5"],"Count":7}"; 
$client_json_read = json_decode(unserialize(file_get_contents("client-json.txt")));
print_r($client_json_read);echo "<br />";

//單獨列出某物件內容
echo $client_json_read->IP[1]."<br />";
?>


沒有留言:

張貼留言