Hallo,

Ik weet dat wanneer men volgende code gebruikt

$record = file($data_file);
rsort($record);
$total_lines = count($record);
echo $total_lines;


alle lijnen in het tekst bestand geteld worden.

Is er een manier waarop alleen de lijnen geteld worden die een bepaald woord bevatten?

bv. ik heb een tekst bestand (flat file)
|~|opel|~|rood|~|4|~|
|~|opel|~|rood|~|2|~|
|~|opel|~|blauw|~|4|~|
|~|opel|~|wit|~|2|~|
|~|opel|~|rood|~|4|~|
|~|opel|~|wit|~|4|~|

Wat ik probeer te doen is het uitlezen van het tekst bestand en als resultaat enkel het totaal aantal lijnen geeft met bv.
- alleen blauw --> 1 lijn
- alleen rood en wit --> 5 lijnen
- alleen blauw en wit --> 3 lijnen

Alle hulp is welkom.

Alvast bedankt
ff uit m'n blote bolletje (als dat maar goed gaat), dus niet getest:

<?php
$record = file($data_file);
rsort($record);
$red = 0;
$white = 0;
$blue = 0;
foreach ($record as $line) {
if (strpos($line, 'rood') !== false) $red++;
if (strpos($line, 'wit') !== false) $white++;
if (strpos($line, 'blauw') !== false) $blue++;
}
echo 'rood:' . $red . ' stuks<br>';
echo 'wit:' . $white . ' stuks<br>';
echo 'blauw:' . $blue . ' stuks<br>';
?>
Hartelijk bedankt Ozzie PHP !!!
Ik kan weer even verder.

graag gedaan ;)
succes ermee!

Reageren