Beste mensen,

Als ik een getal tussen 0 en 100 heb (bijv. 35)
Hoe kan ik er dan voor zorgen dat een bepaalde code dan met 35% kans wordt uitgevoerd. Ik heb er nu al een hele tijd naar zitten zoeken maar ik kan het echt niet vinden.

BVD
Score 349998 van de 1000000 en dat is 35%
Score 349955 van de 1000000 en dat is 35%

edit

@Santhe
Die van jou telt lekker door bij me. De server instellingen zullen verschillen denk ik.

Hier nog een andere uitslag:
Score 3498476 van de 10000000 en dat is 35%
Score 3499573 van de 10000000 en dat is 35%



Jaja, ik smokkel (A)

En zoals gezegd in mijn edit, die van jou doet het.
PHP Newbie schreef op 10.01.2009 20:30
De server instellingen zullen verschillen denk ik.

Enig idee welke instelling dat zou kunnen zijn?
display_errors in de php.ini gok ik. Kijk even hier en dan het kopje "Nog geen errors".
Nee, dat zal eerder te maken met de output_buffering instelling in je php.ini. Waarschijnlijk staat die aan waardoor de output eerst gebufferd wordt en pas aan het einde van het script verstuurd wordt.

Hetzelfde resultaat als je met ob_start() en ob_end_flush() zou bereiken dus...
Nee, dat denk ik niet.

Het script begint met
ini_set('display_errors', 1);
error_reporting(E_ALL);

Verder heb ik in mijn logfiles ook geen enkele error terwijl daar normaal errors staan die niet op het scherm komen te staan.
Heb je dat artikel doorgenomen? Daar staat uitgelegd waarom je toch geen errors kunt krijgen, ondanks dat ;-)
PHP Newbie schreef op 10.01.2009 20:43
Heb je dat artikel doorgenomen? Daar staat uitgelegd waarom je toch geen errors kunt krijgen, ondanks dat ;-)
Maar dat is hier niet het geval. In het geval van een headers already sent foutmelding, zou de header niet uitgevoerd worden. Dat gebeurt hier klaarblijkelijk wel aangezien het script zich herlaadt.

Die output_buffering instelling lijkt me toch waarschijnlijker...
@Blanche: In phpinfo:
output_buffering 4096 4096

Reageren