Beralih dari MySQL ke PDO: Memelihara Array Pointer
PDO menawarkan pendekatan yang berbeza untuk mengambil data berbanding kaedah mysql_data_seek() MySQL. Untuk berulang kali secara berkesan melalui tatasusunan, ikuti langkah berikut:
Simpan Hasil pada Tatasusunan:
Daripada bergantung pada kenyataan PDO secara langsung, simpan hasilnya ke tatasusunan menggunakan kaedah fetchAll(). Ini membolehkan anda bekerja dengan tatasusunan dengan cara yang lebih terkawal.
Kod:
<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>
Lelaran dengan Foreach Loop:
Kini, anda boleh lelaran melalui tatasusunan seberapa banyak yang diperlukan menggunakan gelung foreach. Pendekatan ini membolehkan anda memulakan setiap lelaran daripada elemen pertama dalam tatasusunan.
Kod:
<code class="php">foreach ($rows as $r) { // First iteration } foreach ($rows as $r) { // Second iteration }</code>
Contoh:
Andaikan anda mempunyai tatasusunan nama yang disimpan dalam $rows. Kod berikut menunjukkan cara untuk berulang melaluinya dua kali:
<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>
Kelebihan:
Atas ialah kandungan terperinci Bagaimana untuk Berulang Melalui Array Berbilang Kali Selepas Berhijrah dari MySQL ke PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!