Todos eles tem realmente a mesma funcionalidade com pequenas diferenças.
While: Executa o loop enquanto a condição for verdadeira.
// Contar de 1 até 10
$contar = 1;
while($contar <= 10){
echo "$contar";
$contar++;
}
Do While: Executa o loop primeiro e depois verifica a condição.
// Contar de 1 até 10
$contar = 0;
do{
$contar++;
echo "$contar";
}while($contar <= 10)
For: Executa o loop enquanto a condição for verdadeira, porém você pode instanciar as variaveis contadoras dentro da estrutura do loop.
for($contar = 1; $contar <= 10; $contar++){
echo "$contar";
}
Foreach: Executa o loop sobre os elementos de um array.
$contar = range(1, 10);
foreach($contar as $valor){
echo "$valor";
}