Teilwerte in Array suchen

  • Allo leute ich haeb folgendes problem.

    Habe 2 Arrays die zub folgendes enthalten.

    Array1 :
    [0] -> blau
    [1] -> grau
    [2] -> grün
    [3] -> gelb
    [4] -> ....

    Array 2
    [0] -> blau 122
    [1] -> orange 334 blaba
    [2] -> Blabla grün 3434
    [3] ->.....


    nun will ich array 2 durchsuchen und wenn er einen wert gefunden hat der auch in array 1 da ist dann soll er diesen wert in einem neunen array speichern.

    Also zB. such man grün so soll er "[2] -> Blabla grün 3434" in das neue array speichern..

  • ich denke das hier könnte dir helfen:
    http://de.php.net/strpos

    ich weiss nicht, ob man ein ganzes array als vergleich heranziehen kann, musst du ausprobieren

    sonst mit foreach oder einer for-schleife arbeiten !

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • ich hab ka wie das genau gehen kann

    was genau willst du im endeffekt erreichen ? vll gehts anders viel einfacher !

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • Also ich habe einen String. Dieser wird mit Explode bei jedem chr(13) geteilt.
    Dann habe ich ein Array.
    Dieses Array will ich nun ausmisten da es viele dinge entält die ich nicht brauche.

    das Array sieht dann so aus wie oben array 2.

    Im Array 1 stehen die schlagwörter nach denen ich suchen will.
    Jeder Value der diesen wert enthält soll in einem anderen Array gespeichert werden.

  • aber woher beziehst du das array ? aus einer datenbank ? weil da gibts dann denke ich mal noch weitere möglichkeiten, das eifnacher zu gestalten !

    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  • ne das array 1 ist fest vorgegeben.

    das andere wandle ich ja aus einem string um.
    Habe da evtl einen anderen Lösungsansatz.


    Das klapt soweit. ich erhalte die Jeweilige Possition.

    Gibt es nun eine String funkiton wo ich sagen kann.
    Schneider mir von posX bis zum nächsten chr(13) aus?

  • Hi,

    du kannst strpos ein "offset" uebergeben, also nach dem wie vielten vorkommen von needle gesucht wird:

    Code
    $pos = strpos($string, $wert, 0 ); //erstes vorkommen
    $pos = strpos($string, $wert, 1); //zweites vorkommen
    ...

    Ich habe leider noch nicht verstanden, wofuer du das machen willst.

    Was wird denn als $_POST['bericht'] eingegeben? und was soll genau ausgegeben werden?

  • Danke an alle ich habe es nun mit

    Code
    $pos = strpos($string, $haus);
    							$erg = substr($string, $pos, (strpos($string,chr(13),$pos)-$pos)); 
    							$erg1 = substr($erg, strlen($haus), (strlen($erg)-strlen($haus)));
    							$konst[$haus] = $erg1;


    gelöst.