Wanneer u alleen coderen / serialize een paar objecten / array, zou ik zeggen dat het verschil in snelheid zal niet zo belangrijk: je genherally zal het niet waarnemen.
Het verschil is dat serialize is speciaal gemaakt voor PHP; Zo worden gegevens sur de klassen niet verloren met serialize, en kan worden opgehaald wanneer unserializing.
Aan de andere kant, JSON is niet specifiek voor PHP, wat betekent dat het een goede uitwisselingsformaat - het primaire gebruik zijnde gegevens tussen Javascript en PHP te wisselen.
Kijk bijvoorbeeld naar dit stukje code:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Nu, laten we serialize en unserialize $-test:
var_dump(unserialize(serialize($test)));
We krijgen :
object(A)[2]
public 'a' => int 10
dwz een voorwerp instantie van de klasse A.
Laten we nu hetzelfde doen met JSON:
var_dump(json_decode(json_encode($test)));
We hebben nu slechts een voorbeeld van stdClass:
object(stdClass)[2]
public 'a' => int 10
JSON is leuk om gegevens uit te wisselen (de 'klasse A' nformatie is belangrijk voor PHP, maar waarschijnlijk heeft niet veel zin om een andere toepassing); maar heeft zijn beperkingen ook.