<?php
array('nom' => 'a', 'cat' => '1'), array('nom' => 'b', 'cat' => '2'), array('nom' => 'c', 'cat' => '1'), array('nom' => 'd', 'cat' => '3'), array('nom' => 'e', 'cat' => '1') );
foreach ($array as $arr)
$categorias[] = $arr['cat'];
$total = count($categorias);
for ($i = 1; $i <= $total; $i++)
foreach ($array as $arr)
if ($arr['cat'] == $i)
$final[$i][] = $arr;
foreach ($final as $numero => $registro){
echo 'CategorÃa ' . $numero . "\n";
foreach ($registro as $datos)
echo 'Nombre: ' . $datos['nom'] . "\n";
echo "\n";
}
PD9waHAKJGFycmF5ID0gYXJyYXkoCglhcnJheSgnbm9tJyA9PiAnYScsICdjYXQnID0+ICcxJyksCglhcnJheSgnbm9tJyA9PiAnYicsICdjYXQnID0+ICcyJyksCglhcnJheSgnbm9tJyA9PiAnYycsICdjYXQnID0+ICcxJyksCglhcnJheSgnbm9tJyA9PiAnZCcsICdjYXQnID0+ICczJyksCglhcnJheSgnbm9tJyA9PiAnZScsICdjYXQnID0+ICcxJykKKTsKJGNhdGVnb3JpYXMgPSBhcnJheSgpOwoKZm9yZWFjaCAoJGFycmF5IGFzICRhcnIpCgkkY2F0ZWdvcmlhc1tdID0gJGFyclsnY2F0J107CgokY2F0ZWdvcmlhcyA9IGFycmF5X3VuaXF1ZSgkY2F0ZWdvcmlhcyk7CiR0b3RhbCA9IGNvdW50KCRjYXRlZ29yaWFzKTsKJGZpbmFsID0gYXJyYXkoKTsKCmZvciAoJGkgPSAxOyAkaSA8PSAkdG90YWw7ICRpKyspCglmb3JlYWNoICgkYXJyYXkgYXMgJGFycikKCQlpZiAoJGFyclsnY2F0J10gPT0gJGkpCgkJCSRmaW5hbFskaV1bXSA9ICRhcnI7Cgpmb3JlYWNoICgkZmluYWwgYXMgJG51bWVybyA9PiAkcmVnaXN0cm8pewoJZWNobyAnQ2F0ZWdvcsOtYSAnIC4gJG51bWVybyAuICJcbiI7Cglmb3JlYWNoICgkcmVnaXN0cm8gYXMgJGRhdG9zKQoJCWVjaG8gJ05vbWJyZTogJyAuICRkYXRvc1snbm9tJ10gLiAiXG4iOwoJZWNobyAiXG4iOwp9