| // +----------------------------------------------------------------------+ // // $Id: array_chunk.php,v 1.2 2007-01-18 09:02:27 kostja Exp $ // /** * Replace array_combine() * * @category PHP * @package PHP_Compat * @link http://php.net/function.array_chunk * @author Aidan Lister * @author Thiemo Mättig (http://maettig.com) * @version $Revision: 1.2 $ * @since PHP 4.2.0 * @require PHP 4.0.1 (trigger_error) */ if (!function_exists('array_chunk')) { function array_chunk ($input, $size, $preserve_keys = false) { if (!is_array($input)) { trigger_error('array_chunk() expects parameter 1 to be array, ' . gettype($input) . ' given', E_USER_WARNING); return null; } if (!is_numeric($size)) { trigger_error('array_chunk() expects parameter 2 to be long, ' . gettype($size) . ' given', E_USER_WARNING); return null; } $size = (int)$size; if ($size <= 0) { trigger_error('array_chunk() Size parameter expected to be greater than 0', E_USER_WARNING); return null; } $chunks = array(); $i = 0; if ($preserve_keys !== false) { foreach ($input as $key => $value) { $chunks[(int)($i++ / $size)][$key] = $value; } } else { foreach ($input as $value) { $chunks[(int)($i++ / $size)][] = $value; } } return $chunks; } } ?>