ホームページ >バックエンド開発 >PHPチュートリアル >「json_encode()」を使用して、MySQL クエリ結果を PHP で JSON として効率的にエンコードするにはどうすればよいですか?
json_encode() は、データを JSON 形式に変換する PHP の便利な関数です。 MySQL クエリ結果の場合、この関数を使用するにはさまざまな方法があります。
各行を手動で繰り返す必要がありますか、それとも結果オブジェクト全体に json_encode() を適用できますか?
反復の使用
古い PHP バージョンの場合、最も簡単な方法は、次を使用して結果セット内の各行を反復処理することです。 while ループ。以下に例を示します。
<?php $sth = mysqli_query($conn, "SELECT ..."); $rows = array(); while ($r = mysqli_fetch_assoc($sth)) { $rows[] = $r; } print json_encode($rows); ?>
json_encode() は連想配列 (キーと値のペア) を想定しているため、mysqli_fetch_assoc() は行を連想配列としてフェッチすることに注意してください。
mysqli_fetch_all の使用() (モダンなアプローチ)
最新の PHP バージョンには、一度にすべての行をフェッチできる mysqli_fetch_all() 関数が組み込まれています。これにより、エンコード プロセスが簡素化されます。
<?php $result = mysqli_query($conn, "SELECT ..."); $rows = mysqli_fetch_all($result); // list arrays with values only in rows // Or, for associative arrays: $rows = mysqli_fetch_all($result, MYSQLI_ASSOC); print json_encode($rows); ?>
追加メモ
以上が「json_encode()」を使用して、MySQL クエリ結果を PHP で JSON として効率的にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。