myGully.com

myGully.com (https://mygully.com/index.php)
-   Entwicklung & Programmierung (https://mygully.com/forumdisplay.php?f=72)
-   -   PHP unterschied zwichen normalen und einem file array (https://mygully.com/showthread.php?t=2958631)

logan517 21.06.13 01:18

PHP unterschied zwichen normalen und einem file array
 
Nabend,

ich habe ein kleinen S*****, welches mir auf einer Seite bestimmte Begriffe/Wörter sucht und dann ne Rückmeldung gibt, falls diese vorhanden sind.

Nun habe ich vorher ein Array folgendermaßen angelegt:
PHP-Code:

$lehrgang = array();
$lehrgang[] = "KCSA";
$lehrgang[] = "FwLT4";
$lehrgang[] = "GF2"

Damit funktioniert alles, jedoch wollte ich nun die Begriffe aus einer txt Datei auslesen lassen, das habe ich nun so gelöst:
PHP-Code:

$lehrgang file("lehrgang.txt"); 

Ich kann mir leider nicht erklären, wieso das erste Funktioniert und das zweite nicht, bei beiden bekomme ich mit
PHP-Code:

print_r($lehrgang); 

dieses Ergebnis:
Zitat:

Array ( [0] => KCSA [1] => FwLT4 [2] => GF2 )
Wisst ihr vllt. wieso das so ist.

Gruß
Logan517

nichdiemama 21.06.13 06:12

wenn du bei beiden dieses selbe ergebnis bekommst, dann funktioniert es doch oder ?

sollte der .txt Ansatz nicht funktionieren, wäre für eine Fehlersuche interessant wie der Inhalt der .txt Datei aussieht und wie du diese wirklich ausliest; nur $lehrgang = file("lehrgang.txt"); kann es ja nicht sein, irgendeine funktion wird ja dann noch die .txt datei parsen und den inhalt in das array schreiben oder?

MarkusT72 21.06.13 07:32

Wenn du die Strings aus einer Textdatei mittels file() ausliest, enthält jeder Eleme nt des resultierenden Arrays auch das Zeilenenden (CR/LF). Dieses kann man in PHP >=5 verhindern mittels

PHP-Code:

$lehrgang file("lehrgang.txt",FILE_IGNORE_NEW_LINES

In PHP < 5 muss man das Array nochmals durchlaufen und die Zeileenden entfernen:

PHP-Code:

$lehrgang file("lehrgang.txt");
foreach(
$lehrgang as $k=>$v)
   
$lehrgang[$k]=trim($v); 


logan517 21.06.13 10:20

Danke Markus, die Varianten haben beide funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:23 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.