PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP配列を保存するための好ましい方法(json_encodeまたはserialize)?


これは手元の要件によって異なります。

次の条件が満たされない限り、JSONはPHPシリアル化と比較して高速です-

  • 深くネストされた配列が格納されます。
  • 保存されるオブジェクトは、適切なクラスにシリアル化されていない必要があります。
  • 相互作用は、json_decodeをサポートしていない古いPHPバージョン間で行われます。

以下のコード行は、json_encode-

を使用してPHP配列を格納するために使用できます。
json_encode($array, JSON_UNESCAPED_UNICODE)

JSONはオブジェクトの元のクラスをどこにも保存しませんが、stdClassに属するクラスインスタンスとして復元できます。

シリアル化する代わりにjson_encodeを使用するのはなぜですか?

  • JSONは、シリアル化と比較してはるかに移植性があります。
  • __ sleep()および__wakeup()の機能は、JSONを使用して利用することはできません。
  • デフォルトでは、パブリックプロパティはJSONでシリアル化されます。 (PHPのバージョンが5.4以上の場合、動作を変更するためにJsonSerializableを実装できます。)

<?php
   // Array is declared
   $value = array(
      "name"=>"name_me",
      "email"=>"myemail.com"
   );
   // json_encode() function is used
   $json = json_encode($value);
   // Displaying output
   echo($json);
?>
を表示します

出力

これにより、次の出力が生成されます-

{"name":"name_me","email":"myemail.com"}

  1. JavaScript JSON parse()メソッド

    JSON parse()メソッドは、JSON文字列を解析し、そこからJavaScriptオブジェクトを作成するために使用されます。 以下は、JSON parse()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /

  2. JavaScriptJSON配列

    JSONの配列は、JavaScriptの配列に似ています。 JavaScriptJSON配列は次のようになります- let obj = {    name:'Rohan',    sports : ['cricket','Football','volleyball','hockey'] } 以下はJavaScriptのJSON配列のコードです- 例 <!DOCTYPE html> <html lang="en"> <head