序列化 / 二进制格式

<?php

//pecl install Igbinary

class Data {
    public $text = "";
    public $num = 0.0;
    public $arr = [];
}

$data = new Data();
$data->text = "Hello";
$data->num = 3.14;
$data->arr = [257];

$filePath = getcwd() . "/tmp/file.bin";

//Write Binary Data
$data_b = igbinary_serialize($data);
file_put_contents($filePath, $data_b);

//Read Binary Data
$data_b1 = file_get_contents($filePath);
$arr = igbinary_unserialize($data_b1);
$data1 = new Data();
foreach ($arr as $key => $value) $data1->{$key} = $value;

echo $data1->text"\n";
echo $data1->num"\n";
print_r($data1->arr);