Wert aus einem Array auslesen...

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

  • Wert aus einem Array auslesen...

    Moin, moin!

    Kurze Frage:

    Ist es möglich aus einem array "$array1" einen Wert auszulesen, von dem ich lediglich weiss, dass er genau vor dem Wert "9095" steht?

    BSP.:
    Array1(id udpport name status 3 9095 "DuDe Testserver" 0 4 9096 "lololololol" 1 OK)

    Die gesuchte Zahl wäre also "3".

    P.s.: Wie gesagt, ich kenne lediglich die Folgezahl und nicht die Position im array!

    Danke für eure Hilfe!
    WHILE (!$asleep) { $sheep++; }

  • #2
    Lösungsansatz 1:
    PHP-Code:
    $vergl '9095';
    for(
    $i=0$i<=$array1$i++) {

    if (
    $array1[$ieq $vergl) {
    print 
    $i+1,". Position\n";
    last;
          }

    Klingt plausibel, funzt aber leider nicht!
    Parse error: parse error, unexpected T_STRING in....

    Lg. Berny
    WHILE (!$asleep) { $sheep++; }

    Kommentar


    • #3
      Lösungsansatz 2:
      PHP-Code:
      $key array_search('9095'$array1);
      $wert $key-1;
      echo 
      $wert
      Klappt leider auch nicht!
      Warning: array_search(): Wrong datatype for second argument in...
      WHILE (!$asleep) { $sheep++; }

      Kommentar


      • #4
        PHP-Code:
        echo $array[array_search(9095$array)-1]; 
        Das muß so funktionieren, wenn $array ein Array ist.

        Kommentar


        • #5
          onemorenerd ich hab da nan großen Fehler gemacht!!!!

          Diese Funktion
          PHP-Code:
          function showservers(){
                  
          fputs($this->link,"dbserverlist\n");
                          
          $buffer fread($this->link,10000);
                          return 
          $buffer
          Liefert einen String zurück, der so ausshiert:
          PHP-Code:
          id    udpport    name    status
          3    9095    
          "DuDe Testserver"    0    
          4    9096    
          "lololololol"    
          Und ich muss noch immer irgendwie den Wert 3 rausfiltern!

          Ne Idee?
          WHILE (!$asleep) { $sheep++; }

          Kommentar


          • #6
            PHP-Code:
            $array explode("\n"showservers());
            foreach (
            $array as $num => $line) {
                
            $array[$num] = explode("\t"$line);
                if (
            $key array_search(9095$array[$num])) {
                    echo 
            $array[$num][$key-1];
                }

            Zuletzt geändert von onemorenerd; 17.05.2006, 07:17.

            Kommentar


            • #7
              Geile Sache!

              Bloss ein klitze kleienes Problemchen noch:
              PHP-Code:
              status 3 
              Ich brauche nur die Zahl!

              EDIT:

              Nach dem du deinen Post verändert hast und ich das übernommen hab, bekomm ich die Zahl 9095 ausgegeben!
              Zuletzt geändert von nichtsooft; 17.05.2006, 07:13.
              WHILE (!$asleep) { $sheep++; }

              Kommentar


              • #8
                Sorry, da hab ich die -1 vergessen. Habe es nochmal verändert.

                Kommentar


                • #9
                  10000000 Dank! Ich beneide dich um deine Kenntnisse!
                  WHILE (!$asleep) { $sheep++; }

                  Kommentar


                  • #10
                    @onemorenerd:

                    Sag mal;

                    Funktioniert das mit dieser Funktion auch!?
                    PHP-Code:
                            function serverinfo(){
                                    
                    fputs($this->link,"si \n");
                                    
                    $buffer fread($this->link,10000);
                                    
                    $buffer str_replace("\n","<br />",$buffer);
                                    
                    $buffer str_replace("OK"," ",$buffer);
                                    return 
                    $buffer;
                          } 
                    Diese gibt folgendes aus:
                    http://web4.kilo062.server4you.de/TS...hpresource.php
                    und ich bräuchte das irgendwie so, dass ich die Daten in ein formular aufnehmen kann.

                    Bsp.:
                    PHP-Code:
                    <input type="text" name="$zeile1_wert1value="$zeile1_wert2"
                    ich hoffe du verstehst was ich meine
                    WHILE (!$asleep) { $sheep++; }

                    Kommentar


                    • #11
                      Na klar, funktioniert vom Prinzip her genauso. Man muß den String nur etwas anders zerlegen.
                      Wodurch werden die Zeilen getrennt? Danach zuerst exploden. Ergebnis ist ein Array aller Zeilen.
                      Jedes Element des Arrays nach dem/n Zeichen zwischen Name und Wert exloden.

                      Kommentar


                      • #12
                        nunja getrennt wird durch zeilenumbruch.
                        ca. so:

                        server_id=4
                        server_name=Testerver
                        server_platform=Linux

                        und dann müsste ich noch zusätzlich die werte beim Gleichheitszeichen trennen, damit ich auf so ein ergebnis komme:

                        $a[0] $b[0]
                        $a[1] $b[1]
                        $a[2] $b[2]
                        WHILE (!$asleep) { $sheep++; }

                        Kommentar


                        • #13
                          @onemorenerd

                          Öhm; ich bekomm das voll nicht gebacken! Wärst du so nett und würdest du mir nochmal helfen!?
                          WHILE (!$asleep) { $sheep++; }

                          Kommentar


                          • #14
                            Der Link gibt leider nur noch Fehlermeldungen aus. Ich versuchs mal ohne:

                            PHP-Code:
                            $in explode('<br>'serverinfo());
                            $out = array();
                            foreach (
                            $in as $num => $line) {
                                
                            $pair explode('='$line);
                                
                            $out[trim($pair[0])] = trim($pair[1]);

                            Kommentar


                            • #15
                              Moin onemorenerd!

                              Danke für deine schnelle Reaktion!

                              also der LINK funzt jetzt wieder ohne Fehler!

                              Nochmal Link


                              zur Übersicht habe ich ich einen 'HR' hinzugefügt und darunter den Befehl
                              PHP-Code:
                              echo $pair[0].'&nbsp;<b>ist folglich</b>&nbsp;'.$pair[1]; 
                              gesetzt.

                              Irgendwie liefert das skript aber noch zusätzliche Werte...
                              WHILE (!$asleep) { $sheep++; }

                              Kommentar

                              Lädt...
                              X