Gå til innhold

Få telling til å starte på null


Anbefalte innlegg

Jeg har ett lite problem.

 

når jeg teller innholdet i en fil og det ikke er noe der så teller den ikke 0 men 1, hvordan kan man løse dette?

 

min kode:

<?php

$fil = file("tell.txt");

$tell = count($fil);

 

echo $tell;

?>

 

 

selv om tell.txt ikke finnes telles det 1

 

Takker for svar :)

 

 

EDIT: Skal legge til det at den teller antall ip'er, dette ble sikkert elendig forklart.

Endret av The_Lozer
Lenke til kommentar
Videoannonse
Annonse
if (!is_file($fil)) $count=0;

Den vil alltid returnere null fordi $fil ikke er en fil, men et array

 

 

Count vil returnere 1 i følgende tilfeller:

count(true);

count(false);

count(array(1));

 

 

Count vil returnere 0 i følgende tilfeller:

echo count($str);

echo count(array());

echo count(null);

 

 

file('fil') returnerer FALSE på en fil som ikke finnes.

Så da kan du jo gjette hvorfor count($fil) returner 1 på en fil som ikke finnes?

 

Er filen tom vil file('fil') returnere et tomt array og count skal da være 0

er det derimot en tom linje eller linjeskift, vil file('fil') returnere et array med et tomt felt på plass 1 og du får dermed 1 fra count($fil).

Endret av zreak
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...