Ich habe 3 Werte, die ich aus einer DB auslese
wert1 = 100
wert2 = 30
wert3 = 100
Und ich habe einen Wert, der noch eine Zahl enthält:
$zahl = 170
Nun möchte ich die Zahl in drei zufällig große Teile splitten (z.B. 90, 30, 50) und den drei Werten zuordnen - mit der Bedingung, dass der zugeteilte Wert nicht größer als der Wert ist (wert1 dürfte also nichts über 100 zugeteilt werden). Die $zahl soll komplett aufgebraucht werden, also am Ende 0 ergeben.
Ich schaffe es zwar den drei Werten eine zufällige Zahl zuzuordnen, aber leider bleibt immer ein Rest bei $zahl übrig.
PHP-Code:
$zahl = 170;
while($wert = mysql_fetch_array($ergebnis)) // Schleife wird 3x wiederholt
{
$zufall = rand(0,$wert['x']); // Zufallszahl: min:0 / max:wert
if($zufall < $zahl])
{
$wert['x'] = $zufall; // Wert wird mit der Zufallszahl überschrieben
$zahl = $zahl - $zufall; // Zufallszahl wird von $zahl abgezogen
}
}