我正在创建一个类函数,它接受一个mysql查询结果并返回一个多维数组,其中第一个数组指针是表列,第二个指针是它在MySQL数据中的位置的数字指示符。
例如,该表格包含以下列:
Groupname
Groupid
Groupurl
我想称之为:
$arrayname[groupname][1];
我已经形成了两个阵列:
$colnames
,其中包含特定mysql查询和
$$colname
,它是包含每列中所有数据的列名的变量变量。例如:$groupurl
是一个包含该列所有数据的数组。
我似乎无法获得一个循环来将数组作为多维对象加入,虽然我可以手动为特定表执行此操作,但它是一个类函数,而变量变量部分正在打破我= \
================感谢IMSoP给了我这个想法,解决方案是================== / p>
$结果该函数是一个成功的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;
}
答案 0 :(得分:0)
我使用的功能是:
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;
}