PHP での JSON アプリケーションの概要
バージョン 5.2 以降、PHP は json_encode() 関数と json_decode() 関数をネイティブに提供します。前者はエンコードに使用され、後者はデコードに使用されます。
1. json_encode()
この関数は主に配列とオブジェクトを json 形式に変換するために使用されます。まず配列変換の例を見てみましょう:
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4, 'e '=>5);
echo json_encode($arr);
結果は
{"a":1,"b":2,"c":3,"d" :4, "e":5}
オブジェクト変換の別の例を見てください:
コードをコピーします コードは次のとおりです:
$ obj->body = '別の投稿';
$obj->id = 21;
$obj->approved = true;お気に入り数 = 1;
$obj->status = NULL;
結果は
コードをコピーします コードは次のとおりです:
{ "body": "another post",
"id": 21,
"approved ": true,
"favorite_count": 1,
"status":null
}
json は utf-8 でエンコードされた文字のみを受け入れるため、json_encode() のパラメーターutf-8 でエンコードされている必要があります。そうでない場合は、空の文字または null が返されます。中国語で GB2312 エンコードを使用する場合、または外国語で ISO-8859-1 エンコードを使用する場合は、この点に特別な注意を払う必要があります。
2. インデックス付き配列と連想配列
PHP は 2 種類の配列をサポートしています。1 つは「値」(値) のみを格納するインデックス付き配列です。名前と値のペアを格納する連想配列。
JavaScript は連想配列をサポートしていないため、json_encode() はインデックス付き配列を配列形式に変換するだけであり、連想配列をオブジェクト形式に変換します。
たとえば、インデックス配列があります
コードをコピー コードは次のとおりです:
$arr = Array('one' , 'two', 'three'); echo json_encode($arr);
結果は次のようになります:
連想配列に変更する場合:
$arr = Array('1'=>'one', '2'=>'two', '3'=> 'three');
echo json_encode($arr);
結果は次のように変わります:
{"1":"one","2":"two","3":"three"}
データの形式が「[]」(配列)から「{}」(オブジェクト)に変更されたことに注意してください。
「インデックス配列」を「オブジェクト」に強制する必要がある場合は、次のように記述できます。
json_encode( (object)$arr );
または
json_encode ( $arr, JSON_FORCE_OBJECT ); 🎜 >
3. クラス変換
以下は PHP クラスです:
コードをコピーします
コード class Foo {
const ERROR_CODE = '404'; public $public_ex = 'これはパブリックです'
private $private_ex = 'これはプライベートです!';
protected $protected_ex = 'これは保護されるべきです';
public function getErrorCode() {
return self::ERROR_CODE; 🎜> 次に、このクラスのインスタンスで json 変換を実行します。 🎜>
コードをコピーします
コードは次のとおりです。
$foo = new Foo
$foo_json = json_encode($ foo);
echo $foo_json; 出力結果は {"public_ex":"this is public"}
はい、パブリック変数 (public) を除きます。 、他のもの(定数、プライベート変数、メソッドなど)がありません。
4. json_decode()
コードをコピー
コードは次のとおりです:
$json = '{"foo": 12345 }';
$obj = json_decode($json);
print $obj->{'foo'}; // 12345 通常、json_decode() は常に配列ではなく PHP オブジェクト。例: $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode() $ json));結果として PHP オブジェクトが生成されます:
コードをコピーします
コードは次のとおりです:
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
[ "c"] => int(3)
["d"] => int(4)
["e"] => int(5)
$json = '{"a":1,"b":2,"c": を追加する必要があります。 3,"d ":4,"e":5}';
var_dump(json_decode($json),true);
結果は連想配列です:
コードをコピー コードは次のとおりです。
array(5) {
["a"] => int(1)
[" b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => ; int(5)
}
5. json_decode()
のjsonの書き方は以下の3通りです。間違っています。「どこ?」というエラーが表示されます。
コードをコピー コードは次のとおりです。
$bad_json = "{ 'bar': 'baz' }";
$bad_json = '{ bar: "baz" }';
$bad_json = '{ "bar": "baz", }'
最初のエラーは、JSON 区切り文字では一重引用符ではなく二重引用符のみが使用できることです。 2 番目の間違いは、JSON の名前と値のペアの「名前」 (コロンの左側の部分) では、いかなる場合でも二重引用符を使用する必要があることです。 3 番目のエラーは、最後の値の後にカンマを追加できないことです。
さらに、json はオブジェクトと配列を表すためにのみ使用できます。json_decode() が文字列または値に対して使用された場合は、null が返されます。
var_dump(json_decode("Hello World")); //null

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。
