mysqlクエリの結果を受け取り、多次元配列を返すクラス関数を作成しています。最初の配列ポインターはテーブル列で、2番目のポインターはMySQLデータ内の位置の数値インジケーターです。
たとえば、テーブルには次の列があります。
Groupname
Groupid
Groupurl
そして、私がこれを呼びたい方法は次のとおりです。
$arrayname[groupname][1];
私はすでに2つのアレイを形成しました:
$colnames
特定のmysqlクエリからのすべての列が含まれています
$$colname
これは、各列のすべてのデータを含む列名の変数変数です。例:$groupurl
は、その列のすべてのデータを含む配列です。
配列を多次元オブジェクトとして結合するループを取得できないようです。特定のテーブルに対して手動でこれを行うことはできますが、それはクラス関数であり、変数変数の部分が壊れています= \
================アイデアをくれたIMSoPのおかげで、解決策は==================
関数の$resultは、テーブルに対する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;
}