каким образом вы хотите отлавливать массивы вида
array(0=>'a', 1=>'b', 'c'=> 'd', 3=>'e');
без прохода по всем массиву?
Проход по всему массиву будет в любом случае, иначе это никак не проверить (если только у вас нет в проекте 100% уверенности в том что если «последний ключ соответвует значению sizeof($array) — 1» то массив «не ассоциативный»)