Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: foreach ja tiedosto ongelma

Triton [30.12.2008 01:34:49]

#

Tein skriptin jossa haen tiedostonrivit file-funktiolla taulukkoon, jonka jälkeen skriptin tulisi käsitellä alkioita foreach-rakenteella. Ongelmaksi tuli se, että miten määrittelen tiedostoon alkion avaimen? Yritin näin

avain => arvo

mutta foreach-rakenne ei osannut tulkita avain-sanaa avaimena...Eli millä tavalla voin tämän tiedostossa määrittää? Tämä avaimen määrittäminen on aivan välttämätön skriptiä varten...

Metabolix [30.12.2008 01:49:06]

#

file-funktion tuottamassa taulussa on aina avaimena rivin numero (nollasta alkaen). Ei sitä millään määritetä. Jos haluat jotain muuta tehdä, voit toki itse tulkita sitä tiedostoa. Esimerkiksi ehdottamasi rakenne voitaisiin lukea seuraavalla funktiolla:

<?php
function assoc_file($f, $vali = " => ", $trim = true) {
  $t = array();
  foreach (file($f) as $r) {
    if (strpos($r, $vali) !== false) {
      list($key, $val) = explode($vali, $r, 2);
      if ($trim) {
        $key = trim($key);
        $val = trim($val);
      }
      $t[$key] = $val;
    }
  }
  return $t;
}
$taulu = assoc_file("tiedosto.txt");
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta