Stack Overflowのおかげで、PHPでserialize()とunserialize()が何をしているのか分かりました。PHPのシリアル化による文字列の解釈
私はPHP.net Manualにこのコード例に出くわした:
class obj implements Serializable {
private $data;
public function __construct() {
$this->data = "My private data";
}
public function serialize() {
return serialize($this->data);
}
public function unserialize($data) {
$this->data = unserialize($data);
}
public function getData() {
return $this->data;
}
}
$obj = new obj;
$ser = serialize($obj);
var_dump($ser);
$newobj = unserialize($ser);
var_dump($newobj->getData());
コードは以下の結果生成:
string(38) "C:3:"obj":23:{s:15:"My private data";}"
string(15) "My private data"
を私は「C」は、この文字列を意味し、なぜそれが等しいかを知りたいです「3」と「obj」、なぜ「23」に等しいのか
"s"は文字列を意味し、15文字を含んでいますが、Cとobjとその結果は理解できません。
を有し、 'C'手段それは 'Serializable'インタフェースを実装するクラスです。他のクラスは代わりに 'O'でシリアライズされます。 – salathe