|
| 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
| |
|
|