/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Flere spørgsmål! For/If/Array
Fra : Thomas Løcke


Dato : 18-07-02 12:14

Hej igen,

Ja, jeg har flere små-problemer. Hvorfor virker denne kode ikke:

<?php
$test="array.txt";
$lines=file($test);
$number=sizeof($lines);

for ($counter=0; $counter<=$number-1; $counter++)
{
if ($lines[$counter]=="end") $ecounter++;
}
echo $ecounter;
?>

Nu ved jeg tilfældigvis at der er præcis 6 tilfælde af "end" i filen
array.txt, men $ecounter outputter kun 1.

Hmmm..

Mvh
Thomas Løcke



 
 
Johan Holst Nielsen (18-07-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 18-07-02 12:43

> Ja, jeg har flere små-problemer. Hvorfor virker denne kode ikke:
>
> <?php
> $test="array.txt";
> $lines=file($test);
> $number=sizeof($lines);
>
> for ($counter=0; $counter<=$number-1; $counter++)
> {
> if ($lines[$counter]=="end") $ecounter++;
> }
> echo $ecounter;
> ?>
>
> Nu ved jeg tilfældigvis at der er præcis 6 tilfælde af "end" i filen
> array.txt, men $ecounter outputter kun 1.

Sikker på der kun er "end" på linien? Og ikke et mellemrum efter eller
ligende?

mvh
Johan


Thomas Løcke (18-07-2002)
Kommentar
Fra : Thomas Løcke


Dato : 18-07-02 12:44

Tja, jeg har ikke tastet noget mellemrum.. Men måske den opfanger et
linefeed af en art??

Hvordan kan jeg tjekke det?

Mvh
Thomas


"Johan Holst Nielsen" <johan@weknowthewayout.com> skrev i en meddelelse
news:3D36A9C3.10200@weknowthewayout.com...
> > Ja, jeg har flere små-problemer. Hvorfor virker denne kode ikke:
> >
> > <?php
> > $test="array.txt";
> > $lines=file($test);
> > $number=sizeof($lines);
> >
> > for ($counter=0; $counter<=$number-1; $counter++)
> > {
> > if ($lines[$counter]=="end") $ecounter++;
> > }
> > echo $ecounter;
> > ?>
> >
> > Nu ved jeg tilfældigvis at der er præcis 6 tilfælde af "end" i filen
> > array.txt, men $ecounter outputter kun 1.
>
> Sikker på der kun er "end" på linien? Og ikke et mellemrum efter eller
> ligende?
>
> mvh
> Johan
>



Thomas Løcke (18-07-2002)
Kommentar
Fra : Thomas Løcke


Dato : 18-07-02 12:54

HEUREKA!!


"Johan Holst Nielsen" <johan@weknowthewayout.com> skrev i en meddelelse
news:3D36A9C3.10200@weknowthewayout.com...
>
> Sikker på der kun er "end" på linien? Og ikke et mellemrum efter eller
> ligende?
>

Problemet blev løst sådan her:

<?php
$test="array.txt";
$lines=file($test);
$number=sizeof($lines);
for ($counter=0; $counter<=$number-1; $counter++)
{
$tester=trim($lines[$counter]);
if ($tester=="end") $ecounter++;
}
echo $ecounter;
?>

Ved ikke om det er specielt elegant, men det virker da..

Thomas





Johan Holst Nielsen (18-07-2002)
Kommentar
Fra : Johan Holst Nielsen


Dato : 18-07-02 13:25


> Problemet blev løst sådan her:
>
> <?php
> $test="array.txt";
> $lines=file($test);
> $number=sizeof($lines);
> for ($counter=0; $counter<=$number-1; $counter++)
> {
> $tester=trim($lines[$counter]);
> if ($tester=="end") $ecounter++;
> }
> echo $ecounter;
> ?>
>
> Ved ikke om det er specielt elegant, men det virker da..


Jep, så var der mellemrum!
Ellers print filen ud f.eks.

echo "'$streng'";
Så kan du se om der er mellemrum? Hvis der er det er der mellemrum
mellem ' og end!

mvh
Johan


Peter Brodersen (18-07-2002)
Kommentar
Fra : Peter Brodersen


Dato : 18-07-02 14:51

On 18 Jul 2002 12:14:01 +0100, "Thomas Løcke" <thomas@responsum.dk>
wrote:

>Nu ved jeg tilfældigvis at der er præcis 6 tilfælde af "end" i filen
>array.txt, men $ecounter outputter kun 1.

Når du hiver en fil ind med file(), indeholder hver entry i array'et
også slutreturn'et.

--
- Peter Brodersen

Thomas Løcke (18-07-2002)
Kommentar
Fra : Thomas Løcke


Dato : 18-07-02 16:00

Hej Peter,

"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:ah6h40$27f$1@dknews.tiscali.dk...
> On 18 Jul 2002 12:14:01 +0100, "Thomas Løcke" <thomas@responsum.dk>
> wrote:
>
> >Nu ved jeg tilfældigvis at der er præcis 6 tilfælde af "end" i filen
> >array.txt, men $ecounter outputter kun 1.
>
> Når du hiver en fil ind med file(), indeholder hver entry i array'et
> også slutreturn'et.

Ja, det fandt jeg ud af.. Jeg formoder at det stadig er det letteste at
fjerne dem med trim(), eller er der en smartere måde?

Mvh
Thomas



Peter Brodersen (18-07-2002)
Kommentar
Fra : Peter Brodersen


Dato : 18-07-02 16:13

On 18 Jul 2002 15:59:51 +0100, "Thomas Løcke" <thomas@responsum.dk>
wrote:

>Ja, det fandt jeg ud af.. Jeg formoder at det stadig er det letteste at
>fjerne dem med trim(), eller er der en smartere måde?

trim() er fint til formålet. Eneste er, at den fjerner alle
whitespaces, også fx mellemrum i slutningen af en linje. Det er dog
ikke relevant i dit tilfælde.


--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste