Bu şekilde tek alanda tutuyorum.
Doğru anladıysam şu şekilde yapabilirsin.
$secili = $b['sayilar'];
if(strstr($secili, "sayi1")) $s1='checked="checked"';
if(strstr($secili, "sayi2")) $s2='checked="checked"';
if(strstr($secili, "sayi3")) $s3='checked="checked"';
if(strstr($secili, "sayi4")) $s4='checked="checked"';
echo '<form action="kontrol.php" method="post">
<label><input type="checkbox" name="sayi[]" value="sayi1" '.$s1.'/>Sayi 1</label><br>
<label><input type="checkbox" name="sayi[]" value="sayi2" '.$s2.'/>Sayi 2</label><br>
<label><input type="checkbox" name="sayi[]" value="sayi3" '.$s3.'/>Sayi 3</label><br>
<label><input type="checkbox" name="sayi[]" value="sayi4" '.$s4.'/>Sayi 4</label><br>
<input type="submit" value="Tamam"/>
</form>';
fakat sayi9'a kadar işler bu mantık. sayi10 checkbox u oluşturursan sayi1 de etkilenir. çünki değer içerisinde parçalama yapmadan sayi1 değerinin olup olmadığına bakarak işlem yapıyor.