PHP では、クエリ結果がオブジェクトまたは配列などのさまざまな形式で返されることがありますが、必要な結果が配列である場合もあります。したがって、ここでは、クエリ結果をニーズに合わせて作成するために、クエリ結果を配列に変換するいくつかの方法を紹介します。
fetch_assoc() メソッドは連想配列を返します。キー名はデータベース内のフィールド名、キー値は対応するフィールド名です。レコード値に 1 つ。 fetch_assoc() メソッドは、クエリ結果からデータの行を返します。このメソッドを 1 回呼び出すと返されるのは 1 行だけです。他の行を読み取る場合は、このメソッドを再度呼び出す必要があります。
サンプル コードは次のとおりです。
// 假设 $conn 是 MySQL 数据库连接对象 $sql = "SELECT id, name, age FROM users"; $result = $conn->query($sql); // fetch_assoc 方法返回一个关联数组 while ($row = $result->fetch_assoc()) { echo $row['id'] , $row['name'] , $row['age']; }
fetch_array() メソッドは、数値インデックスと連想配列の両方を含む配列を返します。インデックス: 連想配列とインデックス付き配列の組み合わせに似ています。数値インデックスはクエリ結果の列のインデックスに対応し、関連付けられたインデックスはデータベースのフィールド名に対応します。このメソッドは、返される配列が異なることを除いて、fetch_assoc() メソッドに似ています。
サンプル コードは次のとおりです:
// 假设 $conn 是 MySQL 数据库连接对象 $sql = "SELECT id, name, age FROM users"; $result=$conn->query($sql); // fetch_array 方法返回一个包含关联和数字索引的数组 while ($row = $result->fetch_array()) { echo $row['id'] , $row['name'] , $row['age']; }
fetch_all() メソッドは完全な結果セットを返します。このメソッドにはmysqli 拡張版 5.3.0 以降でのみ使用でき、MySQL 拡張ドライバーの使用のみをサポートします。返される結果は 2 次元配列で、各サブ配列はデータの行であり、サブ配列の要素はレコードの行の各フィールドに対応します。このメソッドを使用すると、コードを簡素化できます。
サンプル コードは次のとおりです。
// 假设 $conn 是 MySQL 数据库连接对象 $sql = "SELECT id, name, age FROM users"; $result = $conn->query($sql); // fetch_all 方法返回一个二维数组 $data = $result->fetch_all(); foreach ($data as $row) { echo $row[0] , $row[1], $row[2]; }
概要
fetch_assoc() メソッドを使用すると、フィールド名をキー名とする連想配列を取得できます。 fetch_array() メソッドを使用すると、数値インデックスと関連するインデックスの両方を含む配列を返すことができ、一方、 fetch_all() メソッドは結果セット全体の 2 次元配列を直接返すことができます。特定の状況に応じて、クエリ結果の配列を取得するためにさまざまな方法を使用することを選択すると、データをより便利に操作できるようになります。
以上がPHPでクエリ結果を配列に変換する方法(3つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。