1

PHPで変更whileすることは可能ですか?foreachmysql_fetch_row

例えば

$result = mysql_query("SELECT * FROM test");

while ($row = mysql_fetch_row($result)) {
    print_r($row);
}

これにより、 query からすべてのレコード (行) が取得されますSELECT * FROM test

しかし、 foreach を使うと

foreach (mysql_fetch_row($result) as $row) {
    print_r($row);
}

これは、 query から最初のレコード (行) のみを取得しますSELECT * FROM test

foreachwith を使用すると、ループですべてのレコードを取得できますmysql_fetch_rowか?

4

2 に答える 2

3

次の場合にのみ使用できますforeach

  • ArrayAccessまたはIterator、またはを実装するクラスを作成します。
  • 結果セット全体を配列で取得し、その配列を で使用しforeachます。

ループを使用できますforが、コードは読みにくくなります。

for ($row = mysql_fetch_row($result); $row !== false; $row = mysql_fetch_row($result)) {
    print_r($row);
}
于 2012-04-13T18:40:59.020 に答える
1

いいえ、foreach配列が必要なためです。ここでmysql_fetch_row()は、一度に 1 行だけを返します。

于 2012-04-13T18:42:30.927 に答える