Bekijk Volledige Versie : Oneindige loop
Eduard Bekker
15/01/04, 16:00
Beste mensen!
Waarom draait
<?php
$colofon=join("", file("colofon.txt"));
$colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
$regel=explode("\n",$colofon);
for ( $n=2 ; $n <= count($regel) ; $n++ )
{
if (!strstr($regel[$n],":"))
{
$regel[$n]="x";
echo $regel[$n];
}
}
?>
Uit op een oneindige loop?
Rene Pijlman
15/01/04, 16:00
Eduard Bekker:
> echo $regel[$n];
[...]
>Uit op een oneindige loop?
Je wilt ons toch niet de informatie onthouden, wat er telkens in die
oneindige loop ge-echo'd wordt?
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Michiel de Roo
15/01/04, 19:45
Eduard Bekker wrote:
> Beste mensen!
>
> Waarom draait
>
> <?php
>
> $colofon=join("", file("colofon.txt"));
>
> $colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
>
> $regel=explode("\n",$colofon);
>
> for ( $n=2 ; $n <= count($regel) ; $n++ )
> {
> if (!strstr($regel[$n],":"))
> {
> $regel[$n]="x";
> echo $regel[$n];
> }
> }
>
>
> ?>
>
> Uit op een oneindige loop?
>
Je moet < gebruiken ipv. <=
Anders maak je in elke loop een nieuwe entry voor $regel aan als die nog
niet bestond, waardoor $n dus nooit kleiner dan count($regel) kan worden.
count($regel) is immmers $n+1 per definitie.
Michiel.
Michiel de Roo
15/01/04, 19:45
Michiel de Roo wrote:
> Eduard Bekker wrote:
>
>> Beste mensen!
>>
>> Waarom draait
>>
>> <?php
>>
>> $colofon=join("", file("colofon.txt"));
>>
>> $colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
>>
>> $regel=explode("\n",$colofon);
>>
>> for ( $n=2 ; $n <= count($regel) ; $n++ )
>> {
>> if (!strstr($regel[$n],":"))
>> {
>> $regel[$n]="x";
>> echo $regel[$n];
>> }
>> }
>>
>>
>> ?>
>>
>> Uit op een oneindige loop?
>>
>
>
> Je moet < gebruiken ipv. <=
> Anders maak je in elke loop een nieuwe entry voor $regel aan als die nog
> niet bestond, waardoor $n dus nooit kleiner dan count($regel) kan
> worden. count($regel) is immmers $n+1 per definitie.
>
> Michiel.
>
oops, waar ik kleiner zei moet groter zijn..... ;-)
Michiel de Roo
15/01/04, 19:45
Rene Pijlman wrote:
> Eduard Bekker:
>
>> echo $regel[$n];
>
> [...]
>
>>Uit op een oneindige loop?
>
>
> Je wilt ons toch niet de informatie onthouden, wat er telkens in die
> oneindige loop ge-echo'd wordt?
>
wat kan het anders zijn dan 'x' ?
Michiel.
Rene Pijlman
15/01/04, 22:00
Michiel de Roo:
>Rene Pijlman wrote:
>> Eduard Bekker:
>>> echo $regel[$n];
>>
>> Je wilt ons toch niet de informatie onthouden, wat er telkens in die
>> oneindige loop ge-echo'd wordt?
>
>wat kan het anders zijn dan 'x' ?
Oh ja, ik was al net zo snugger als die echo :-)
--
René Pijlman
Wat wil jij leren? http://www.leren.nl
Eduard Bekker
18/01/04, 21:45
Michiel de Roo wrote:
> Rene Pijlman wrote:
>
>> Eduard Bekker:
>>
>>> echo $regel[$n];
>>
>>
>> [...]
>>
>>> Uit op een oneindige loop?
>>
>>
>>
>> Je wilt ons toch niet de informatie onthouden, wat er telkens in die
>> oneindige loop ge-echo'd wordt?
>>
>
> wat kan het anders zijn dan 'x' ?
>
> Michiel.
Dat klopt.
--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------
Eduard Bekker
18/01/04, 22:00
Michiel de Roo wrote:
> Michiel de Roo wrote:
>> Eduard Bekker wrote:
>>
>>> Beste mensen! Waarom draait
>>> <?php
>>>
>>> $colofon=join("", file("colofon.txt"));
>>>
>>> $colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
>>>
>>> $regel=explode("\n",$colofon);
>>>
>>> for ( $n=2 ; $n <= count($regel) ; $n++ )
>>> {
>>> if (!strstr($regel[$n],":"))
>>> {
>>> $regel[$n]="x";
>>> echo $regel[$n];
>>> }
>>> }
>>> ?>
>>>
>>> Uit op een oneindige loop?
>> Je moet < gebruiken ipv. <=
>> Anders maak je in elke loop een nieuwe entry voor $regel aan als die
>> nog niet bestond, waardoor $n dus nooit groter dan count($regel) kan
>> worden. count($regel) is immmers $n+1 per definitie.
Ik heb het aangepast en nu werkt het wel. Wat je zegt, zal dus wel
kloppen. Maar ...
> count($regel) is immmers $n+1 per definitie.
.... begrijp ik niet. count($regel) meet toch de array-grootte (heet
geloof ik 'dimensie' in het nederlands)? Die is hier enkele tientallen.
--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------
Michiel de Roo
18/01/04, 22:15
Eduard Bekker wrote:
> Michiel de Roo wrote:
>>>> Beste mensen! Waarom draait
>>>> <?php
>>>>
>>>> $colofon=join("", file("colofon.txt"));
>>>>
>>>> $colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
>>>>
>>>> $regel=explode("\n",$colofon);
>>>>
>>>> for ( $n=2 ; $n <= count($regel) ; $n++ )
>>>> {
>>>> if (!strstr($regel[$n],":"))
>>>> {
>>>> $regel[$n]="x";
>>>> echo $regel[$n];
>>>> }
>>>> }
>>>> ?>
>>>>
>>>> Uit op een oneindige loop?
>>> Je moet < gebruiken ipv. <=
>>> Anders maak je in elke loop een nieuwe entry voor $regel aan als die
>>> nog niet bestond, waardoor $n dus nooit groter dan count($regel) kan
>>> worden. count($regel) is immmers $n+1 per definitie.
>
>
> Ik heb het aangepast en nu werkt het wel. Wat je zegt, zal dus wel
> kloppen. Maar ...
>
>
> > count($regel) is immmers $n+1 per definitie.
>
> ... begrijp ik niet. count($regel) meet toch de array-grootte (heet
> geloof ik 'dimensie' in het nederlands)? Die is hier enkele tientallen.
Als je array tien elementen bevalt, dan zijn die genummerd van 0 t/m 9.
Het array eindigt dan bij < 10. Bij jouw code loopt het nog tot element
nummer 10 door en dan wordt er een nieuw element aangemaakt met nummer 10,
dmv. $regel[$n]="x". Vervolgens is count($regel) dan dus 11, en krijg je
opnieuw een loop met hetzelfde.
Michiel.
Eduard Bekker
19/01/04, 23:15
Michiel de Roo wrote:
> Eduard Bekker wrote:
>
>> Michiel de Roo wrote:
>
> >>>> Beste mensen! Waarom draait
> >>>> <?php
> >>>>
> >>>> $colofon=join("", file("colofon.txt"));
> >>>>
> >>>> $colofon = preg_replace("/(\015\012)|(\015)|(\012)/","\n",$colofon);
> >>>>
> >>>> $regel=explode("\n",$colofon);
> >>>>
> >>>> for ( $n=2 ; $n <= count($regel) ; $n++ )
> >>>> {
> >>>> if (!strstr($regel[$n],":"))
> >>>> {
> >>>> $regel[$n]="x";
> >>>> echo $regel[$n];
> >>>> }
> >>>> }
> >>>> ?>
> >>>>
> >>>> Uit op een oneindige loop?
> Als je array tien elementen bevalt, dan zijn die genummerd van 0 t/m 9.
> Het array eindigt dan bij < 10. Bij jouw code loopt het nog tot element
> nummer 10 door en dan wordt er een nieuw element aangemaakt met nummer
> 10, dmv. $regel[$n]="x". Vervolgens is count($regel) dan dus 11, en
> krijg je opnieuw een loop met hetzelfde.
Het wordt me nu langzaam duidelijk, waarvoor dank.
--
---------------------------
Groetjes,
Eduard
http://www.websitez.nl
---------------------------