从 MySQL 迁移到 PDO:保留数组指针
与 MySQL 的 mysql_data_seek() 方法相比,PDO 提供了不同的获取数据的方法。要有效地多次迭代数组,请按照以下步骤操作:
将结果保存到数组:
不要直接依赖 PDO 语句,而是将结果保存到使用 fetchAll() 方法的数组。这允许您以更受控的方式使用数组。
代码:
<code class="php">$pdo = new PDO('mysql:host=' . $host . ';dbname='.$database, $username, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $pdo->prepare('SELECT * FROM mytable WHERE active = 1 ORDER BY name ASC'); $stmt->setFetchMode(PDO::FETCH_ASSOC); $stmt->execute(); $rows = $stmt->fetchAll();</code>
使用 Foreach 循环进行迭代:
现在,您可以使用 foreach 循环根据需要多次迭代数组。这种方法使您能够从数组中的第一个元素开始每次迭代。
代码:
<code class="php">foreach ($rows as $r) { // First iteration } foreach ($rows as $r) { // Second iteration }</code>
示例:
假设您有一个名称数组存储在 $rows 中。以下代码演示了如何迭代两次:
<code class="php">foreach ($rows as $name) { echo $name . "<br>"; // First run: Display all names vertically } foreach ($rows as $name) { echo $name . " "; // Second run: Display all names horizontally }</code>
优点:
以上是从 MySQL 迁移到 PDO 后如何多次迭代数组?的详细内容。更多信息请关注PHP中文网其他相关文章!