Array doorlopen

  • Onderwerp starter Onderwerp starter Raisa
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Raisa

Gebruiker
Lid geworden
15 aug 2003
Berichten
608
Hoi,

ik probeer een array te doorlopen en deze telkens te vergelijken met een string $vgl.
als ik een match heb moet er iets gebeuren ...
nu lukt dit niet ...

Array is afkomstig van file-opdracht (een html-file)...

Hier is de code:

quote:
--------------------------------------------------------------------------------
$vgl="</h4>";
$gegevens = file ($bron);
for ($i = 0; $i < count($gegevens); $i++) {
if (strcmp($gegevens[$i], $vgl)==0){
echo "in if";
}
}
--------------------------------------------------------------------------------


kheb al vanalles geprobeerd ...
een spatie achter de </h4>
een \n
met htmlspecialchars werken

tot nu zonder enig resultaat ...
iemand een idee ?
 
doe de volgende keer je php code tussen [ PHP ] en niet tussen [ QUOTE ] ;)
PHP:
<?
$vgl=""; // $vgl is een lege string...
$gegevens = file($bron); // elke regel in een array lezen...
foreach($gegevens as $regelnummer => $regelwaarde)
{
  if($regelwaarde == $vql)
  {
  echo ("Regel " . $regelnummer . " heeft dezelfde waarde als \$vql<br>");
  }
/*als hij niet gelijk is aan $vql hoeft er niets te gebeuren dus hoef je hier niets neer te zetten, ook geen else...*/
}
?>
 
Goed, doe ik er zoals gewoonlijk weer een scheppie bovenop :p.

Je zou de regel ook kunnen controleren met preg_match(). Dit zijn reguliere expressies maar die gebruiken we hier niet zo zeer in. De vergelijking werkt hetzelfde, met de foreach lus is het het handigste. Met een for lus eveneens maar dat is omslachtig :).

PHP:
<?php

if(preg_match("/$vgl/i", $regelwaarde))
{
     print("match gevonden op regel ".$regelnummer."! <br />");
}

?>

Die / / voor en na het gedeelte wat gevonden moet worden zijn afbakeningen. Die zijn noodzakelijk. Welk teken je daarvoor gebruikt maakt opzich niet zoveel uit. Je kunt ^, [, (, {, / en alle andere speciale tekens gebruiken. Maar eindig hier ook weer mee! Dus [ } kan niet en ^ $ ook niet. Wat het voordeel hiervan is? Hij hoeft er niet exact aan gelijk te zijn, hij geeft al een match aan als het er in gevonden wordt als fragment.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan