Zadejte hledaný výraz...

Výběr pouze prvních hodnot z každého řádku z jednoho souboru a jejich uložení do proměnné či array. Hodnoty jsou oddělené pomocí znaku |

TOM19
verified
rating uzivatele
(2 hodnocení)
12. 12. 2014 17:04:49
Ahoj, mám soubor data.txt s obsahem
home|Domov|./
about|O webu|index.php?section=about
css|CSS|index.php?section=css
html|HTML|index.php?section=html
Mě zajímá zatím jen ten první parametr, tedy home about, css, html. V tomto souboru budou podobné řádky přibývat. Parametry jsou oddělené znakem |.
Jak mám dostat do výstupu z toho souboru pouze ty první parametry? Třeba v array. Zatím jsem došel k tomuto kódu:
$file = 'data.txt';
if ($read = fopen($file, 'r')) {
while (!feof($read)) {
$line = fgets($read);
list($english, $slovak, $path) = explode('|', $line);
$categories[] = $english;
foreach ($categories as $category) {
echo $category." za ".$category." ";
}
}
}
else {
echo "

Súbor sa nepodarilo otvoriť.

";
}
?>
Jenže ten mi vrací první parametry neustále opakovaně. Ve výstupu jsou pak uspořádány takto 1 1 2 1 2 3 1 2 3 4. Já chci pouze 1 2 3 4. Takže vlastně takto home about css html. Nic víc. Nezná někdo odpověď?
Moc díky, TOM19
12. 12. 2014 17:04:49
https://webtrh.cz/diskuse/vyber-pouze-prvnich-hodnot-z-kazdeho-radku-z-jednoho-souboru-a-jejich-ulozeni-do-promenne-ci-array-hodnoty-jsou-oddelene-pomoci-znaku#reply1076018
Denis Ulmann
verified
rating uzivatele
(9 hodnocení)
12. 12. 2014 17:35:38
$first = [];
$get = @file_get_contents('soubor.txt');
if($get){
foreach(explode(PHP_EOL, $get) as $line){
$ex = explode('|', $line);
array_push($first, $ex);
}
}
print_r($first);
12. 12. 2014 17:35:38
https://webtrh.cz/diskuse/vyber-pouze-prvnich-hodnot-z-kazdeho-radku-z-jednoho-souboru-a-jejich-ulozeni-do-promenne-ci-array-hodnoty-jsou-oddelene-pomoci-znaku#reply1076017
Jan Kuthan
verified
rating uzivatele
(48 hodnocení)
12. 12. 2014 18:11:20
Nebo to číst jako klasické csv se separátorem | :)
PHP: fgetcsv - Manual
Kod je psán od oka bez testu, takže s rezervou ;)
12. 12. 2014 18:11:20
https://webtrh.cz/diskuse/vyber-pouze-prvnich-hodnot-z-kazdeho-radku-z-jednoho-souboru-a-jejich-ulozeni-do-promenne-ci-array-hodnoty-jsou-oddelene-pomoci-znaku#reply1076016
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
12. 12. 2014 22:18:57
no a není lepší použít na toto databázi? Pokud nemáš možnost použít klasickou klient-server db, tak můžeš použít file db jako je třeba SQLite.
12. 12. 2014 22:18:57
https://webtrh.cz/diskuse/vyber-pouze-prvnich-hodnot-z-kazdeho-radku-z-jednoho-souboru-a-jejich-ulozeni-do-promenne-ci-array-hodnoty-jsou-oddelene-pomoci-znaku#reply1076015
vrend
verified
rating uzivatele
15. 12. 2014 00:50:03
Vypisuje se pole $categories pořád dokola. Umístit výpis až za cyklus.
15. 12. 2014 00:50:03
https://webtrh.cz/diskuse/vyber-pouze-prvnich-hodnot-z-kazdeho-radku-z-jednoho-souboru-a-jejich-ulozeni-do-promenne-ci-array-hodnoty-jsou-oddelene-pomoci-znaku#reply1076014
Pro odpověď se přihlašte.
Přihlásit