如何解构 mysqli_result 行

How to destructure mysqli_result row

如何从 mysqli_result 中解构一行? 此模式适用于 PDO,但我希望能够将其用于 mysqli。

<?php
$mysqli = new mysqli('', 'pdo', '123', 'pdo');
foreach ($mysqli->query("select uid, name from users") as [$uid, $name])
  print("$uid: $name\n");

// PHP Warning:  Undefined array key 0 on line 3
// PHP Warning:  Undefined array key 1 on line 3

您只能使用关联数组迭代 mysqli_result

foreach ($mysqli->query("select uid, name from users") as ['uid' => $uid, 'name' => $name]) {
    print "$uid: $name\n";
}

但是,我建议使用 fetch_all(),它会将所有内容提取到数组中,甚至使用数字键也是如此。

$result = $mysqli->query("select uid, name from users")->fetch_all(MYSQLI_NUM);
foreach ($result as [$uid, $name]) {
    print "$uid: $name\n";
}