[PHP] - Auslesen, Rückgabewert = Anzahl Abfrage



  • Hi leute!

    Ich hab einen Plan, doch weiss ich nicht wie ich es anstellen soll.
    Mein Plan wäre folgendes:

    Ich lasse eine Datei danach durchsuchen, wie viel mal der Teil "A|" alsi MIT dem | vorkommt und dann das Ergebnis ausgeben.
    Steht in einer Datei a.php zb das da:

    A|Zeile 1
    A|Zeile 2
    A|AAAAAAAAA BBBBBBCDEADAEFEEEFEFEFEF

    so sollte das Ergebnis dann 3 Lauten. alles was NACH dem A| ist sollte ignoiert werden, auch wenn A|testA| steht! 🙂

    Wie stelle ich das am besten an???

    $anzahl = 0;
    while(preg_macht("A|", "a.php", "|&[^^]0-9|A-Z"))
    {
    $anzahl++;
    }
    echo "Die Datei a.php enthält ".$anzahl." mal A|";
    

    Ist nur mal so ein Ansatz, keine Ahnung ob dies die korrekte Lösung wäre... 😃

    mfg
    Pro



  • steht das A| dann immer am Anfang?



  • flenders schrieb:

    steht das A| dann immer am Anfang?

    Genau! 🙂



  • Dann kannst du doch die Datei zeilenweise einlesen bzw. in ein Array und dann durchgehen, und dann jeweils testen, ob die ersten Zeichen A| sind. Dafür gibt es natürlich viele Möglichkeiten - z.B. mit einem regulären Ausdruck oder du machst ein substr und testest diesen dann gegen A| oder mit explode zerlegen und dann untersuchen, oder die beiden Zeichen einzeln checken, ... (was am schnellsten geht müsstest du ausprobieren - oder einfach irgend eine Variante nehmen 😉 , wenn die die Geschwindigkeit praktisch keine Rolle spielt 🙄 )



  • flenders schrieb:

    Dann kannst du doch die Datei zeilenweise einlesen bzw. in ein Array und dann durchgehen, und dann jeweils testen, ob die ersten Zeichen A| sind. Dafür gibt es natürlich viele Möglichkeiten - z.B. mit einem regulären Ausdruck oder du machst ein substr und testest diesen dann gegen A| oder mit explode zerlegen und dann untersuchen, oder die beiden Zeichen einzeln checken, ... (was am schnellsten geht müsstest du ausprobieren - oder einfach irgend eine Variante nehmen 😉 , wenn die die Geschwindigkeit praktisch keine Rolle spielt 🙄 )

    k. thx 😃


Anmelden zum Antworten