Ankündigung

Einklappen
Keine Ankündigung bisher.

preg_match_all Rückgabe-Array zu string

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ACiD
    hat ein Thema erstellt preg_match_all Rückgabe-Array zu string.

    preg_match_all Rückgabe-Array zu string

    Wenn ich versuche mir einen Teil eines Arrays auszugeben,
    wird mir statt dessen immer nur das Wort "Array" ausgegeben.

    PHP-Code:
    $ch2string ="<td>Insgesamt</td><td>50 %</td><td>50 %</td><td>17</td>";

    $startstringLA ="<td>Insgesamt";
    $posstartLA strpos($ch2string$startstringLA);
    $posendLA $posstartLA 6;
        
    $laengeLA $posendLA $posstartLA;
    $anzahlsubstr($ch2string$posstartLA 45$laengeLA);

    preg_match_all("([1-9]+)",$anzahl,$arrAnzahl);

    print_r($arrAnzahl);
    echo 
    "<br>---------<br>";
    $a count($arrAnzahl);
    echo 
    "Elemente in Array:".$a."<br>";
    echo 
    $arrAnzahl[0]; 
    preg_match durchsucht $ch2string nach Zahlen, und speichert das
    Ergebnis im Array $arrAnzahl. Da nicht ganz Vorne im string $ch2string
    mit dem Suchen begonnen wird, findet er immer nur eine Zahl, in dem Fall die 17. Daher befindet sich auch nur ein Wert im Array, und dieser wird mit 0 indexiert. Warum wird der mir dann nicht geechot/ausgegeben?

  • ACiD
    antwortet
    Ah OK, hatte überlesen, dass wenn kein flag gesetzt wird, automatisch PREG_PATTERN_ORDER genutzt wird. Da sieht man's ja auch ganz gut am Beispiel.

    Einen Kommentar schreiben:


  • Asipak
    antwortet
    Schau dir mal den 4. Parameter von http://php.net/preg_match_all an.

    Einen Kommentar schreiben:


  • ACiD
    antwortet
    Danke, aber warum das?
    Warum ist das ein doppelter Array?

    Einen Kommentar schreiben:


  • peaceman
    antwortet
    Nicht ganz, $arrAnzahl[0] enthält bei dir ein weiteres Array. Erst $arrAnzahl[0][0] enthält den String.

    Einen Kommentar schreiben:


  • ACiD
    antwortet
    var_dump($arrAnzahl)
    array(1) { [0]=> array(1) { [0]=> string(2) "17" } }

    Array beinhaltet einen Wert, Format String, Länge = 2, Inhalt = 17.
    Sprich $arrAnzahl[0] beinhaltet "17". Soweit richtig? Hab ichd och aber schon oben
    geschrieben, warum kann ich $arrAnzahl[0] jetzt nicht in einen string packen?

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    print_r($arrAnzahl)
    var_dump($arrAnzahl);

    Einen Kommentar schreiben:

Lädt...
X