function format_row(&$row) { // loops thru an associative array row from a database query // changes any keys like [[key][subkey]] = value to // [key][subkey] = value; // Example: /* SELECT col1, col2 AS '[array][key]' FROM t1 WHERE id = 1; row would become $row['array']['key'] = 1; $row['col1'] = 1; */ foreach ($row as $k=>$v) { preg_match_all("/^(\[[A-Z0-9\_\[\]]+\])$/i", $k, $matches); if ($matches[1]) { unset($row[$k]); eval ('$row' . $k . ' = \'' . str_replace(array('\\','\''), array('\\', '\\\''), $v) . '\';'); } } } /* SELECT *,u1.rating AS '[users][1][rating]',u1.puq AS '[users][1][puq]',u1.cd AS '[users][1][cd]','erm' AS '[users][1][uname]','1' AS '[users][1][uid]',u4.rating AS '[users][4][rating]',u4.puq AS '[users][4][puq]',u4.cd AS '[users][4][cd]','halle' AS '[users][4][uname]','4' AS '[users][4][uid]',u3.rating AS '[users][3][rating]',u3.puq AS '[users][3][puq]',u3.cd AS '[users][3][cd]','sam' AS '[users][3][uname]','3' AS '[users][3][uid]',u98.rating AS '[users][98][rating]',u98.puq AS '[users][98][puq]',u98.cd AS '[users][98][cd]','wil' AS '[users][98][uname]','98' AS '[users][98][uid]' FROM playlist p, song s, artists a ,user_1 u1,user_4 u4,user_3 u3,user_98 u98 WHERE s.aid = a.aid AND s.sid = p.sid AND u1.sid = s.sid AND u4.sid = s.sid AND u3.sid = s.sid AND u98.sid = s.sid ORDER BY p.pos */