この記事は主に、php での json_decode と var_export の 2 番目のパラメーターの使用法について説明しています。php での json_decode と var_export の使用法を知る必要がある友人も参照してください。
json_decode と var_export には両方とも 2 番目のパラメータがあります。T_T しかも、この var_export 関数については、まだ基礎がしっかりしていません。
json_decode
(PHP 5 >= 5.2.0、PECL json:1.2.0-1.2.1)
json_decode — JSON 形式の文字列をデコードします
説明
混合 json_decode ( string $json [, bool $assoc ] )
JSON 形式の文字列を受け入れ、それを PHP 変数に変換します
以前は、ajax 処理のデータ形式として json が使用されていましたが、現在では、パートナーが提供するインターフェイスによって返されるデータ形式は json であり、当時はまだ、これはオブジェクトを直接返すものだと思っていました。 JavaScriptで使用されますが、「このオブジェクトをphpで配列に変換するには?」で使用されます。長い間頭を悩ませた後、マニュアルを読むことにしました。見ただけではわかりませんが、これを true として渡すと、デコードされたデータが配列になることがわかります。
配列が0から始まる連続配列の場合、json_encodeの結果は[]で囲まれた文字列になります
配列が0から始まらない配列や連続していない配列の場合、json_encodeの結果は{}で囲まれたkey-valueパターンの文字列となります
コードは次のとおりです | コードをコピー |
$test = array();
| {"1":1,"2":1}2. 文字列がパターン [1,1,1] の場合、json_decode によって解析された結果はデフォルトで配列になります。
3. 上記の状況は、JSON エンコードを使用する場合は 2 番目のパラメーターを true に設定することが推奨されるため、PHP が 1 次元配列と 2 次元配列を区別できないために発生します。
-------------------------------------------------- ----------------------------------
再構築したデータをファイルに保存したいのですが、以前の方法ではシリアライズして取り出したときにデシリアライズをしていましたが、配列を直接ファイルに保存できないか考えました。しかし、配列、特に連想配列の形式を記述するのは非常に難しく、添え字についてすべて知っていたとしても、死ぬほど疲れてしまうのではないでしょうか。 Googleに聞いてみましょう。
var_export(PHP 4 >= 4.2.0、PHP 5)
var_export — 変数の文字列表現をエクスポートまたは返します
説明
混合 var_export (混合 $expression [, bool $return ] )
この関数は、関数に渡された変数に関する構造情報を返します。返される表現が正当な PHP コードである点を除けば、var_dump() と似ています。
関数の 2 番目の引数を TRUE に設定することで、変数の表現を返すことができます。
あなたは見ましたか?私はこれまで var_dump を使っていましたが、こんな機能があるとは知りませんでした。
コードをコピー
$handle = fopen($file_name, 'w+'); | fwrite($handle,'"); | fclose($handle);||||||||||||
結果を使用すると、やはり問題が発生します。関数は配列の内容をページに出力しますが、ファイルには何もありません。それだけなら、なぜそれを使用する必要があるのでしょうか?ページ上に表示されているので、 <pre class="brush:php;toolbar:false">を使用しています。落ち込んでいましたが、よく見てみると、この関数にも json_decode と同じ機能を持つ 2 番目のパラメータがあることが判明しました。私の不注意はまだ深刻のようです。 <p> </p> ログイン後にコピー
別の例:
var_export は正当な PHP コードを返す必要があります。つまり、var_export によって返されるコードは、PHP コードとして変数に直接割り当てることができます。 そして、この変数は var_export と同じタイプの値を取得します ただし、変数の型がリソースの場合は単純にコピーできないため、var_exportの変数がリソース型の場合は、var_exportはNULLを返します | 。