如何使用 foreach 循环访问 mysql 结果集数据

2022-08-30 09:10:12

我正在开发一个php应用程序,它使用数据库类来查询MySQL。

课程在这里:http://net.tutsplus.com/tutorials/php/real-world-oop-with-php-and-mysql/
*注意教程中演示了多种不良做法 - 它不应该被用作现代指南!

我对课程进行了一些调整以适应我的需求,但是有一个问题(也许是一个愚蠢的问题)。

使用时,它会返回一个多维数组,该数组的行具有 3 个关联列(id、名字、姓氏):select()

Array
(
    [0] => Array
        (
            [id] => 1
            [firstname] => Firstname one
            [lastname] => Lastname one
        )

    [1] => Array
        (
            [id] => 2
            [firstname] => Firstname two
            [lastname] => Lastname two
        )

    [2] => Array
        (
            [id] => 3
            [firstname] => Firstname three
            [lastname] => Lastname three
        )
)

现在我希望这个数组用作mysql结果()。mysql_fetch_assoc()

我知道它可以与 一起使用,但这是用于简单/扁平数组。我认为我必须在每个中重新声明一个新的,但我认为这可能会减慢速度或导致更高的服务器负载。foreach()foreach()foreach()

那么如何以最简单的方式应用这个多维数组呢?foreach()


答案 1

你可以在这里使用foreach就好了。

foreach ($rows as $row) {
    echo $row['id'];
    echo $row['firstname'];
    echo $row['lastname'];
}

我认为您已经习惯于使用数字索引(例如)访问数据,但这不是必需的。我们可以使用关联数组来获取我们想要的数据。$row[0]


答案 2

您可以使用 :array_walk_recursive

array_walk_recursive($array, function ($item, $key) {
    echo "$key holds $item\n";
});