Hi alle !
Also ich habe nun den code zu folgendem verändert :
<<code>>
foreach($array as $value1)
{
if($value1 > 100)
{
for($i=0; $i
Hi
Also ich habe nun den code zu folgendem verändert :
<<code>>
foreach($array as $value1) { if($value1 > 100) { for($i=0; $i
<<code>>
nun hat sich aus dem array :
Array ( [6] => 203 [9] => 334 [20] => 33442 )
folgender array entwickelt :
Array ( [6] => 25.375 [9] => 41.75 [20] => 4180.25 )
also wurde der vorgang nach 3 schleifen unterbrochen hat einer ne ahnung warum ???
Ganz einfach. Deine aeussere Schleife (die foreach) geht genau EIN mal
durch das Array. Dabei findet sie drei Werte ueber 100, also werden
drei mal alle Werte halbiert.
Was ist Dein Ziel? Alle Werte <= 100 zu haben? Dann musst Du die
aeussere Schleife so lange wiederholen, bis kein Wert ueber 100 mehr
auftritt.
Ohne Garantie:
$found = false;
do {
foreach( $array as $value1 )
{
if($value1 > 100)
{
$found = true;
for($i=0; $i
Moin, Am Don, 2003-06-26 um 01.45 schrieb Bodo Kaelberer:
$found = false; do { foreach( $array as $value1 ) { if($value1 > 100) { $found = true; for($i=0; $i
Auch untested, aber ich sehe hier eine Endlosschleife, wenn $found
jemals "true" wird, wird es nie wieder "false".
Anders:
1. Man nennt eine Variable nicht "array", weil es eine Funktion
"array()" gibt. Das läuft zwar, ist aber pfui. Daher: Wir verwenden
"$wert"
2. Den Maximalwert einer Werteliste zu ermitteln geht einfacher:
$maximalwert=max($wert)
Also
# Ein bisschen Futter...
$wert=array(1,2,120,7,12,8,9,430,111);
while ( max($wert) >100) {
for ($i=0 ; $i
participants (3)
-
Bodo Kaelberer
-
Frank
-
Joerg Rossdeutscher