Пока против

Я видел, как блоки кода используются несколько раз, лично я всегда использовал первый, но мой вопрос: есть ли функциональная разница, и есть ли что-то?

while (condition is true ) {
    // do something
}

do {
    // do something
} while ( condition is true);

Я буду применять это к PHP, но я предполагаю, что это довольно язык агностик.