OK, lehet hogy nem voltam elég részletes. Van az a sor, hogy
if ( $p == true ){
$o .= $i . ", ";
}
és a kód végén:
echo $o . "<br>"…
Ha a $o helyén echo van (és a echo $o kommentbe téve), akkor minden megjelenik. Ha viszont az eredményt változóba pakolom ($o .= ...), és azt a végén kiíratom, akkor csak a nagy büdös semmi jelenik meg, pedig a var_dump szerint $o az string(7174)"és itt jönnek a prímek).
Viszont a dolog okafogyottá vált, mert a $e - $s zárójelezése óta megjelenik a $o tartalma. Hogy miért, azt nem igazán értem, mert bár lelkes amatőrként 7 éve php-zok, ilyen gonddal és megoldással még nem találkoztam. Ha valaki elmagyarázná, hogy ez miért nem jó:
echo $o . "<br>" . $e - $s . "s";
…és ez miért igen:
echo $o . "<br>" . ($e - $s) . "s";
…azt megköszönném.