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...
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"); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.