Wenn Sie nur codieren / ein paar Objekte / Array serialisiert, würde ich sagen, dass der Unterschied in der Geschwindigkeit nicht so wichtig sein wird: genherally Sie werden es nicht wahrnehmen.
Der Unterschied besteht darin, dass serialize ist speziell für PHP; zum Beispiel sind nicht mit serialize, verlorene Information sur als Klassen und können abgerufen werden, wenn das deserialisieren.
Auf der anderen Seite, ist JSON PHP nicht spezifisch, was bedeutet, es ist eine gute Austauschformat ist - seine primäre Verwendung von Daten zwischen Javascript und PHP auszutauschen ist.
Betrachten wir zum Beispiel dieses Stück Code:
class A {
public $a;
public function __construct($a) {
$this->a = $a;
}
}
$test = new A(10);
Nun lassen Sie uns serialisiert und unserialize $ test:
var_dump(unserialize(serialize($test)));
Wir bekommen :
object(A)[2]
public 'a' => int 10
das heißt, ein Objekt, beispielsweise der Klasse A.
Nun lassen Sie uns mit JSON das Gleiche tun:
var_dump(json_decode(json_encode($test)));
Wir haben jetzt nur eine Instanz von stdClass:
object(stdClass)[2]
public 'a' => int 10
JSON ist schön, Daten auszutauschen (die nformation ist ‚Klasse A‘ wichtig für PHP, aber wahrscheinlich nicht für eine andere Anwendung viel Sinn hat); hat aber seine Grenzen zu.