Autor Zpráva
filda15
Profil *
Ahoj,
vyskytl se mi takový problém...mám následující kód:
$save=File('soubor.txt');
$value="money";
$key=array_search($value,$save);
echo $key;
hodnota value je slovo ktere je obsazeno v řádku(řádek obsahuje ještě další text(př: money:100)) a ten se nachází vždy na jiné pozici
myslím, že kod neni zcela špatně jen asi to chce nějak dokončit.

Díky všem za rady filda15
Tori
Profil
1. Chcete najít jen první řádek, kde se to slovo vyskytuje, nebo všechny?
2. Může hledané slovo být kdekoli na řádku, nebo jen na začátku řádku?
filda15
Profil *
hledané slovo se vyskytuje pouze jednou v celém souboru, řádek tímto slovem začíná


děkuji za snahu, ale již se mi podařilo problém vyřešit a to pomocí cyklu
<? $save=File('soubor.txt');
$max=count($save);
for ($i=0 ;$i <=$max;$i) {
$vyraz=$save[$i];
if (substr_count($vyraz,"money")<>0) 
{$key=$i;}
$i=$i+1;}
echo $key;
echo $save[$key];
?>
Tori
Profil
// dostane název souboru a hledaný text, 
// vrací pole (klíč = číslo řádku, hodnota = text řádku) nebo null. Text řádku ořezává o bílé znaky
function file_search($file, $text) {
    $f = fopen($file);
    $i = 0;
    $return = null;
    while(($line = fgets($f)) !== false) {
        $line = trim($line);
        if (strpos($text, $line) === 0) {
            $return = array($i => $line);
            break;
        }
    }
    fclose($f);
    return $return;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: