Порядковый номер обхода foreach?
Это и есть "стандартный способ".
Если массив индексированный, причём с индексами 0, 1, 2, 3..., то можно проще:foreach ($arr as $i => $val) {
    // тело цикла
}
Если массив ассоциативный, но вам не нужны его ключи:foreach (array_values($arr) as $i => $val) {
    // тело цикла
}
нет никаких стандартных способов. Для foreach хранить еще какую-то дополнительную переменную-счетчик - это лишние операции, поэтому логично, что втихую никто не будет такими операциями нагружать обычный цикл. 
Нужно считать - делайте счетчик, как вы сами привели в примере