Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit script -> preg_match in mehrdimensionales array

Einklappen

Neue Werbung 2019

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

  • unst
    hat ein Thema erstellt Problem mit script -> preg_match in mehrdimensionales array.

    Problem mit script -> preg_match in mehrdimensionales array

    Hallo,
    ich habe folgendes problem und hoffe ihr könnt mir helfen.

    aus einer db hole ich mehre zeilen mit strings. diese sind alle ähnlich und mit preg_match hole ich da 2 zahlen raus. Jetzt speichert er aber alle zahlen hintereinander weg in einer Variable. Wie kann ich ihm sagen, er soll pro Zeile ne neue Array-"Schublade" machen. Wenn mögl aus dem feld "uid" aus der db.
    also wenn zb uid ist 2 dass er dann $rueckgabe[2][4] (4 ist die stelle im string die ich haben möchte. also ich brauche die stellen 2 und 4. nur halt irgendwie einzeln)

    Code:
    <?php
    
    @mysql_connect("localhost", "henning", "asdf") or die("Verbindung zu MySQL gescheitert");
    @mysql_select_db("henning") or die("Datenbankzugriff verweigert");
    $sql="SELECT * FROM profile_values WHERE fid='24'";
    $result = mysql_query($sql);
    $zeilen = mysql_num_rows($result);
    //echo "<p> Anzahl der Einträge: $zeilen</p>\n";
    while ($row = @mysql_fetch_assoc($result)) {
    //echo "$row[value]<br>";
    preg_match('/a:3:{s:5:"month";s:(.+):"(.+)";s:3:"day";s:(.+):"(.+)";s:4:"year";s:4:"(.+)";}/', $row[value], $rueckgabe);
    //echo "$rueckgabe[2]";
    //echo "$rueckgabe[4]";
    
    
    }
    ?>
    was muss ich ändern damit es passt? danke!

  • unst
    antwortet
    weil im preg_match 5 strings aufgegriffen werden ( das (.+) ) daher 1-5

    Einen Kommentar schreiben:


  • Hu5eL
    antwortet
    ne sorry.... ich raffs immernoch net... wieso 1-5...?

    Einen Kommentar schreiben:


  • unst
    antwortet
    es ist nicht sinnvoll. Leider aber vom CMS (drupal) so vorgegeben. Ich möchte jetzt (das stellt ein Geburtsdatum dar, 25 ist der tag, 4 der monat und 1990 das jahr) den monat und den tag isolieren um ihn mit dem aktuellen datum zu vergleichen. Dann soll eine anzeige rausgehen "user x hat heute geburtstag".
    in der db gibts halt die spalte "UID" mit der user id die spalter "fid" für dei feld-id in dem fall 24 und die spalte mit den daten.
    mein anliegen war jetzt ein array zu erstellen das die $arrayX[uid][2] wobei 2 hier die ausgabe von preg_match wäre. und dann müsste es ahlt $arrayX[uid][1-5] geben.
    versteht ihr nun evtl?

    wenn ihr eine andere lösung habt dafür, wäre ich euch sehr verbunden diese hier zu posten!

    Einen Kommentar schreiben:


  • agrajag
    antwortet
    Ich hab nicht ganz verstanden was du da letztendlich veranstalten willst - mit Schubladen und hintereinander weg
    Aber:
    Das sieht nach einem serialisierten Wert aus - also solltest du mit unserialize() evtl. einfacher an die Infos kommen die du benötigst.
    So oder so: denk nochmal drüber nach ob es sinnvoll ist die Daten so in er DB abzulgen...

    Einen Kommentar schreiben:


  • Hu5eL
    antwortet
    ich versteh deine frage leider garnichtr...
    kannst doch einfach sachen:
    $test=array();

    und dann in der schleife
    $test[4]=array();
    $test[4][2]=5;

    oder was meinst du?

    Einen Kommentar schreiben:

Lädt...
X