Teilbereich aus Array

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

  • Teilbereich aus Array

    Hallo,

    hab schon mit array_slice() und array_search() versucht zu probieren, komme aber nicht weiter.
    Zum Problem; ich möchte aus einem Array ein bestimmten Bereich auslesen/bearbeiten, der durch zwei string-marker getrennt ist, da das Array ständig wächst.
    Ein Marker steht an der Stelle, ab der das Array ausgegeben werden soll und der andere ganz am Ende.

    Könnt ihr mir vl weiterhelfen?
    MfG
    KrazyKingKool

  • #2
    Ist's ein nummerischer Array ?
    Wenn die Marker beidemale gleich sind, dann verwendest du besser array_keys() mit dem optionalen Searchparameter. Diese Fkt wird dir dann beide Indices zurückgeben. Wenn das Array forlaufende Keys hat (ohne Lücken also), dann wird KeyEnde-KeyAnfang die für array_slice() geforderte Länge ergeben.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Das Array sieht folgendermaßen aus...(nur kurzer Ausschnitt)

      PHP-Code:
      Array
      (
         [
      groups] => Array
              (
                  [
      group1] => t001t002t003
              
      )

         ( ..... )

          [
      group_marker:/] => Array
              (
                  [
      marker] => oklahoma
              
      )

         ( ..... )

          [
      testtest:/] => Array
              (
                  [
      blabla] => q34wersdf
              
      )

          [
      repomarker:/] => Array
              (
                  [@
      mark] => xx
              

      group_marker ist der erste Tag, der irgendwo im Array steht und repomarker steht immer ganz am Ende.
      Ich will aber nur den Bereich dazwischen haben

      edit: die Marker könnt ich theoretisch auch gleich benennen, falls das was hilft....
      Zuletzt geändert von KrazyKingKool; 30.08.2007, 14:40.

      Kommentar


      • #4
        group_marker ist der erste Tag, der irgendwo im Array steht und repomarker steht immer ganz am Ende.
        Dann ist's also kein nummerischer Array. Ich hoffe deine Marker sind Strings ! Also musst du zuerst den nummerischen Key ermitteln z.B.
        PHP-Code:
        function array_offset($array$offset_key) {
          
        $offset 0;
          foreach(
        $array as $key=>$val) {
            if(
        $key == $offset_key)
              return 
        $offset;
            
        $offset++;
          }
          return -
        1;

        Wobei $offset_key dann 'group_marker:/' sein müsste. Die Fkt wird dir den nummerischen Wert zurückgeben, welchen du dann mit array_slice() verwenden kannst.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          WUNDERBAR ! Läuft !

          muchas gracias !

          Kommentar

          Lädt...
          X