[英]Creating a multidimensional array of data pulled from database
我正在使用codeIgniter。 我需要創建數據庫命名學院的數據的多維數組。 該數據庫有3列:id,OfID和name。 OfID列包含該大學的家長的ID。 對於沒有父母的大學,OfID為0。
該數組應包含以OfID = 0作為一維元素的大學的名稱,ID和OfID。 對於擁有OfID!= 0的學院,應將其ID為OfID的學院作為第二維數組(依此類推)。
我以為可以遞歸執行此操作,但是我無法完成此操作。 我知道這樣做有很多錯誤,請幫忙。
模型類如下:(控制器調用meth()函數)
class Model extends CI_Model
{
var $return_this=array();
function meth()
{
$loop_id=0;
getit($loop_id);
var_dump($return_this);
}
function getit($loop_id)
{
$index=0;
$query = $this->db->query("select * from college where OfID=$loop_id ORDER BY `OfID` ASC;");
if ($query->num_rows() > 0)
{
foreach ($query->result() as $row)
{
$pass=$row->id;
$temp=getit($pass);
if($temp==0)
$return_this[$loop_id]= $query->result();
}
}
else return 0;
}
}
嘗試這樣的事情:
$rows = array();
foreach ($query->result() as $row)
{
$pass=$row->id;
$rows[] = getit($pass);
}
return $rows;
無論如何,我發現自己進行遞歸的最好方法是采用一些非常簡單的遞歸函數,並且您了解遞歸函數的各個方面,並逐步構建它。 “逐步”是指您首先不傳遞所有值,而是將它們打印出來,只是為了了解您所獲得的內容,地點和方式,然后嘗試傳遞它們。 如果您不了解遞歸函數的工作方式,則它會損害大腦。 您的想法背后的想法是,每當您偶然發現一所設有兒童學院的大學時,都要得到一個陣列。 我可以看到您做對了,只是按照我之前的說明嘗試做一個,逐步進行,您會發現其中的竅門。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.