<?php function evenfirst($i, $j) { $value = 0; if($i % 2)$value++; if($j % 2)$value--; if($value == 0) $value = $i < $j; return $value; } $clothes = array( 'hats' => 75, 'coats' => 32, 'shoes' => 102, 'gloves' => 15, 'shirts' => 51, 'trousers' => 44); usort($clothes, 'evenfirst'); var_export($clothes); ?>