Я его убью, но наконец-то последнее задание, теперь массив в виде
$array= array(
0=>array("name"=>"Ivan", 'id'=>5, 'city' => 'Piter'),
1=>array("name"=>"Ivan", 'id'=>10, 'city' => 'Moscow'),
2=>array("name"=>"Sergei", 'id'=>3, 'city' => 'Piter'),
3=>array("name"=>"Ivan", 'id'=>4, 'city' => 'Piter'));
И если я задаю $key = array('city','name');, то должен отсортировать сначала по городам, например, Piter следом всех по именам, т.е. все Ivan и Sergei, которые в этом городе живут и там дальше как было, т.е. просто ещё один уровень добавился. НО! надо придумать, чтобы программа при дальнейших добавлениях новых полей снова формировалась не только как сейчас 2-х уровневый, т.е. была универсальной.
P.S. Для тех кто решит эту задачу, оставьте номер своего кошелька в долгу не останусь.