Když si jen kódování / serializaci několik objektů / pole, řekl bych, že rozdíl v rychlosti nebude tak důležité: vy genherally nebudete vnímat.
Rozdíl je v tom, že serialize je vyroben speciálně pro PHP; Například informace sur jako třídy nejsou ztraceny při serializaci a mohou být vyvolány při unserializing.
Na druhou stranu, JSON není specifický pro PHP, což znamená, že je to dobrý formát výměny - jeho primární použití je pro výměnu dat mezi JavaScript a PHP.
Například, považují tento kus kódu:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Nyní se pojďme serializaci a unserialize $ test:
var_dump(unserialize(serialize($test)));
Dostaneme :
object(A)[2]
public 'a' => int 10
tj, objekt, instance třídy A.
Nyní se pojďme udělat to samé s JSON:
var_dump(json_decode(json_encode($test)));
V současné době máme jen instanci stdClass:
object(stdClass)[2]
public 'a' => int 10
JSON je příjemné pro výměnu dat (dále jen ‚třída A‘ nformace je důležité pro PHP, ale pravděpodobně nemá moc smysl pro jiné aplikace); ale má svá omezení příliš.