簡體   English   中英

從 While 循環填充 PHP 數組

[英]Populate PHP Array from While Loop

如果我從 MySQL 數據庫中獲取數據並使用 while 循環遍歷數據,我將如何將每個數據添加到數組中?

$result = mysql_query("SELECT * FROM `Departments`");
while($row = mysql_fetch_assoc($result))
{

}

在使用while循環進行迭代時構建一個數組。

$result = mysql_query("SELECT * FROM `Departments`");
$results = array();
while($row = mysql_fetch_assoc($result))
{
   $results[] = $row;
}

或者,如果您使用PDO ,您可以自動執行此操作

這可以解決問題:

$rows = array();
$result = mysql_query("SELECT * FROM `Departments`");
while($row = mysql_fetch_assoc($result))
{
  $rows[] = $row;
}

這是我創建(多維)arrays 的最快方法之一。 我不確定您是否希望將所有結果都壓縮到一個數組中。

// Read records
$query = "SELECT * FROM `Departments`"; 
$query = mysql_query($query);

// Put them in array
for($i = 0; $array[$i] = mysql_fetch_assoc($query); $i++) ;

// Delete last empty one
array_pop($array);

您可以使用 print_r($array) 查看結果。

我最喜歡的是以下內容;

$result=odbc_exec($conn,$sql);
if ($result) {
    while($found_results[] = odbc_fetch_array($result)) { } 
    array_pop($found_results); //pop off the empty line from while loading
}

你不需要彈出最后一行,但如果你省略它,它確實會留下空白。 mysql 顯然是一樣的。

如果您的部門表中有多個列,並且您想保存在不同的數組中。

$result = mysql_query("SELECT * FROM `Departments`");
$dept_id = array();
$dept_name=array();
while($row = mysql_fetch_assoc($result))
{
//fetches and store all results in id column on your departments table
$dept_id= $row['id'];
//fetches and store all results in name column on your departments table    
$dept_name=$row['name'];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM