Array: Internen Zeiger auslesen

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

  • Array: Internen Zeiger auslesen

    Hi,
    habe ein Array in welchem bestimmte Werte vorhanden sind. Würde nun gerne den "internen Zeiger"/"Datensatzzeiger" eines bestimmten Datensatzes/Wertes, welcher sich in dem Array befindet, auslesen.
    Ist dieses möglich?

    Danke im Voraus!
    night

  • #2
    Moment mal, ein Element hat keinen Zeiger. Der Zeiger zeigt auf ein Element.... und das aktuelle Element findest du mit current heraus...
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Hmm, schade. Es geht mir eigentlich um folgendes:
      Es gibt ein Array, in welchem viele Werte drin sind.
      Nun habe ich einen dieser Werte gegeben (der immer unterschiedlich sein kann) und möchte den Wert der davor "liegt" und den Wert der danach "liegt" auslesen können.
      Gibt es da auch noch eine andere Möglichkeit?

      Danke im Voraus!
      night

      Kommentar


      • #4
        Wenns kein assoziatives Array ist, dann suche mittels:

        http://php.speedbone.de/manual/de/fu...ray-search.php

        Dann bekommst du den Schlüssel zurück. Dann einfach addieren oder subtrahieren. Jedoch setzt das voraus, dass keine Lücken im Array sind.

        Für ein assoziatives ist mir bisher noch keine Lösung eingefallen.

        Kommentar


        • #5
          durchlaufe das array, bis du an der position des schlüssels angekommen bist. danach solltest du eigentlich mit next() und prev() weiterkommen.

          btw: die ersten usernotes unter current() sind auch ganz aufschlussreich.
          Kissolino.com

          Kommentar


          • #6
            Danke schonmal für die vielen Antoworten.

            Hab nun folgendes ausprobiert, funktionieren tuts aber leider nicht.

            PHP-Code:
            $werte_array = array();
            while (
            $row mysql_fetch_array($data)) {
            $werte_array[] = $row['wert'];
            }

            function 
            next_prev($werte_array$wert_gegeben) {
            $keys array_keys($wert_array);     
            $keyIndexes array_flip($keys);          
            $return = array();  
               
            if (isset(
            $keys[$keyIndexes[$wert_gegeben]-1]))         
               
            $return[] = $keys[$keyIndexes[$wert_gegeben]-1];    
            if (isset(
            $keys[$keyIndexes[$wert_gegeben]+1]))         
               
            $return[] = $keys[$keyIndexes[$wert_gegeben]+1];       
            return 
            $return;  

            Vielleicht kann mir ja irgendwer weiterhelfen.

            Danke!!!
            night

            Kommentar


            • #7
              mal kurz eine frage: was für einen sinn hat das ganze? geht es etwa darum, eine "blätterfunktion" o.ä. zu realisieren?

              Kommentar


              • #8
                ganz genau!!!

                Soll eine Blätterfunktion werden, wenn es dann mal funktioniert ;>

                Kommentar


                • #9
                  Dann bist du leider auf dem falschen Weg. Such mal hier im Forum nach Blättern...
                  Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                  var_dump(), print_r(), debug_backtrace und echo.
                  Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                  Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                  Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                  Kommentar


                  • #10
                    dann bist du auf dem holzweg (sollte es um eine art galerie oder ähnliche banalität gehen). eine sehr einfache technik hat sich auf dem gebiet durchgesetzt: es reicht, lediglich die id des aktuellen elementes zu wissen (z.b. #42). dann baut man die links "vor" und "zurück" auf die art auf:

                    Code:
                    foo.php?id=42&direction=next
                    foo.php?id=42&direction=prev
                    foo.php überprüft die existenz der variable "direction" und wertet sie aus. daraufhin lässt sich der nächste bzw. vorige datensatz mithilfe einer query ermitteln.

                    Kommentar

                    Lädt...
                    X