Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menulis tatasusunan objek ke fail dalam php

Bagaimana untuk menulis tatasusunan objek ke fail dalam php

PHPz
PHPzasal
2023-04-12 16:04:40803semak imbas

PHP ialah bahasa pengaturcaraan berorientasikan objek Saya percaya bahawa pembangun yang menggunakan PHP akan menghadapi situasi di mana mereka perlu menulis tatasusunan objek pada fail. Artikel ini akan memperkenalkan cara menulis tatasusunan objek ke fail dalam PHP.

  1. Tukar tatasusunan objek kepada rentetan JSON

Tukar tatasusunan objek kepada rentetan JSON ialah prasyarat untuk menulis tatasusunan objek kepada fail. PHP mempunyai fungsi json_encode() terbina dalam yang boleh menukar pembolehubah PHP ke dalam format JSON. Katakan terdapat tatasusunan objek $data:

$data = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Jerry", "age" => 20)
);

Anda boleh menggunakan fungsi json_encode() untuk menukar tatasusunan objek kepada rentetan JSON:

$json_str = json_encode($data);
  1. Tulis Fail input rentetan JSON

Seterusnya, anda boleh menggunakan fungsi file_put_contents() terbina dalam PHP untuk menulis rentetan JSON pada fail. Sintaks fungsi ini ialah:

file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int

Antaranya, $filename mewakili nama fail yang akan ditulis, yang boleh berupa rentetan, tatasusunan atau objek; mewakili Bendera pilihan, yang biasa digunakan ialah FILE_APPEND (tambah data pada penghujung fail) dan LOCK_EX (mengunci fail secara eksklusif; $context mewakili konteks pilihan.

Kod untuk menulis rentetan JSON pada fail adalah seperti berikut:

$filename = "data.json";
file_put_contents($filename, $json_str);
  1. Baca rentetan JSON daripada fail dan tukarkannya kepada tatasusunan objek

Seterusnya, anda boleh menggunakan fungsi file_get_contents() untuk membaca rentetan JSON daripada fail dan menukarnya kepada tatasusunan objek. Sintaks fungsi ini ialah:

file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen = NULL ]]]] ) : string|false

Antaranya, $filename mewakili nama fail yang akan dibaca $use_include_path mewakili sama ada untuk mencari fail dalam laluan termasuk $; offset mewakili jumlah Shift ofset $maxlen mewakili bilangan maksimum bait untuk dibaca.

Kod untuk membaca rentetan JSON daripada fail dan menukarnya kepada tatasusunan objek adalah seperti berikut:

$filename = "data.json";
$json_str = file_get_contents($filename);
$data = json_decode($json_str, true);

fungsi json_decode() menukar rentetan JSON kepada pembolehubah PHP, dan parameter kedua mewakili Sama ada hendak menukar objek JSON kepada tatasusunan bersekutu. Hasilnya disimpan dalam pembolehubah $data. Jika anda tidak perlu menukar kepada tatasusunan bersekutu, anda boleh menetapkan parameter kedua kepada palsu, contohnya:

$data = json_decode($json_str);
  1. Kod lengkap

Tulis objek tatasusunan ke fail Kod lengkap adalah seperti berikut:

// 对象数组转换为JSON字符串
$data = array(
    array("name" => "Tom", "age" => 18),
    array("name" => "Jerry", "age" => 20)
);
$json_str = json_encode($data);

// 将JSON字符串写入文件
$filename = "data.json";
file_put_contents($filename, $json_str);

// 从文件中读取JSON字符串并转换为对象数组
$json_str = file_get_contents($filename);
$data = json_decode($json_str, true);

// 输出结果
var_dump($data);

Output kod di atas ialah:

array(2) {
  [0]=>
  array(2) {
    ["name"]=>
    string(3) "Tom"
    ["age"]=>
    int(18)
  }
  [1]=>
  array(2) {
    ["name"]=>
    string(5) "Jerry"
    ["age"]=>
    int(20)
  }
}
  1. Ringkasan

Artikel ini memperkenalkan cara menulis tatasusunan objek dalam fail Input PHP, yang termasuk menukar tatasusunan objek kepada rentetan JSON, menulis rentetan JSON kepada fail dan membaca rentetan JSON daripada fail dan menukarnya kepada tatasusunan objek. Semoga artikel ini bermanfaat kepada semua.

Atas ialah kandungan terperinci Bagaimana untuk menulis tatasusunan objek ke fail dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn