0
我創建了一個類函數,它接受一個mysql查詢結果並返回一個多維數組,其中第一個數組指針是表列,第二個指針是它的位置的數字指示符在MySQL數據中。從具有變量變量的現有數組創建多維數組
如表有以下欄目:
Groupname
Groupid
Groupurl
我想調用這個方法是:
$arrayname[groupname][1];
我已經形成了2個陣列已經分別是:
$colnames
其中包含來自特定mysql查詢的所有列和
$$colname
它是包含每列中所有數據的列名稱的變量變量。例如:$groupurl
是包含該列所有數據的數組。
我似乎無法得到一個循環加入數組作爲一個多維對象,我可以手動執行此特定表,同時,它是一類函數,變量可變部分是打破我= \
================感謝IMSoP給了我這個想法,解決方案是==================
$結果函數是一個成功的MySQL查詢表。
function tableAsMatrix($result)
{
//declare $results as array for use in loop
$results = array();
//this gets all the col names and sets them as $colnames[]
while($cols = $result->fetch_field())
{
$colnames[] = $cols->name;
}
//this loops through and assigns all cols as multidimensional $results[colname][id]
foreach ($colnames as $fields)
{
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{
foreach($colnames as $field)
{
$results[$field][] = $row[$field];
}
}
}
//return to object
return $results;
}
在什麼地方 「變量變量」 $$來colname'而來?爲什麼你不能簡單地填充'$ return [$ colname]'? – IMSoP 2013-03-10 21:52:15
感謝IMSoP,誰給了我這個想法,我在原來的帖子中提出以下內容! – Hawkwah 2013-03-11 10:12:34
[**請勿在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – 2013-03-11 10:18:16