Как только я получу результаты строк в виде массивов, я использую этот метод:
function convertArrayToMap(&$list, $attribute, $use_reference=FALSE) {
$result = array();
for ($i=0; $i < count($list); $i++) {
if ($use_reference) $result[$list[$i][$attribute]] = &$list[$i];
else $result[$list[$i][$attribute]] = $list[$i];
}
return $result;
}
И вызов метода:
$mapOfData = convertArrayToMap($mysql_results, 'ID');