This library is part of my Code Grimoire.

<?php
/**
 * records.php by Felix Pleșoianu <felixp7@yahoo.com>
 * Functions to handle arrays of arrays.
 *
 * If you are asking what license this software is released under,
 * you are asking the wrong question.
 */

function sql_fetch_all($result, $retrieve = "mysql_fetch_array") {
	$output = array();
	while (($record = $retrieve($result)) !== false)
		$output[] = $record;
	return $output;
}

function key_on_field($records, $field) {
	$output = array();
	foreach ($records as $rec)
		$output[$rec[$field]] = $rec;
	return $output;
}

function assoc_fields($records, $key_field, $value_field) {
	$output = array();
	foreach ($records as $rec)
		$output[$rec[$key_field]] = $rec[$value_field];
	return $output;
}

function list_field($records, $field) {
	$output = array();
	foreach ($records as $rec)
		$output[] = $rec[$field];
	return $output;
}

function group_by_field($records, $field) {
	$output = array();
	foreach ($records as $rec) {
		$part_val = $rec[$field];
		if (!isset($output[$part_val]))
			$output[$part_val] = array();
		$output[$part_val][] = $rec;
	}

	return $output;
}
?>
Last modified: Tue 04 05 2010, 12:40:33 UTC