Tamam, mantık o şekilde ise kodda bir hata var.
 if ($durum == "") { 
 $nolar = $numero;  
 }else { 
     $nolar= ''; 
 } 
foreach ($numaralar as $numara) {   
 $nolar .='<no>' . $numara . '</no>';  
}
kodundaki } yanlış yerde kapatılmış. doğrusu
 if ($durum == "") { 
 $nolar = $numero;  
 }else { 
     $nolar= ''; 

foreach ($numaralar as $numara) {   
 $nolar .='<no>' . $numara . '</no>';  
}  
}
yani durum yoksa o zaman döngüye gir demeniz gerekiyor. Üstteki kod her halukarda döngüye girecek. Gerçi durum bilgisi verilmemişse for döngüsü dönmeyecek ama yine de doğrusu yukarıdaki gibi olmalıdır.