Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Array auslesen...

Einklappen

Neue Werbung 2019

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

  • Probleme mit Array auslesen...

    Hallo,

    ich habe eine Code geschrieben und versuche die ganze Zeit herauszufinden wie ich den höchsten Wert herausfinden könnte.

    In den variablen,
    $channel,
    $syncro und
    $line sind nurmerische Werte hinterlegt von 0 bis x

    Diese möchte ich durchzählen, beginnend mit [0][0][x] , dann wird die die zweite Klammer um eins erhöht [0][x][0] und wenn alle Werte durchgezählt sind erfolgt dann die letzte Klammer [x][0][0].
    Ich hoffe ich konnte es einigermaßen beschreiben.

    PHP-Code:
    $ncLines = array();
    while (
    $row oci_fetch_array($sqlOCI_ASSOC OCI_RETURN_NULLS)) {

        
    $channel $row['NCB_CHANNEL'];
        
    $syncro =  $row['NCB_SYNCRO'];
        
    $line =  $row['NCB_LINE'];

        
    $ncLines[$channel][$syncro][$line] = array($row['NCB_CONTENT']);

    }


    foreach(
    $ncLines[1][0][1] AS $ncLine) {
        echo 
    $ncLine "<br>";








  • #2
    Ich hoffe ich konnte es einigermaßen beschreiben.
    Ich hab's nicht verstanden. Mal sagst du durchzählen, dann höchster Wert - und von was überhaupt?

    Poste doch einfach ein vollständiges Beispiel, mit Daten, Ist-Zustand, Soll-Zustand.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Bitte mal ein Beispiel-Eingangsdaten und was du erwartest als Ergebnis.

      Den höchsten Wert von was? Von welchem der drei Indize? [1][2][3]

      Was ist für dich dann hier zB höher? Was erwartest du als Ergbnis?
      Code:
      [10][2][3]
      [1][2][1000]
      => Sonst kannst du 3x max() machen, das liefert jeweils den höchsten Index.
      The string "()()" is not palindrom but the String "())(" is.

      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
      PHP.de Wissenssammlung | Kein Support per PN

      Kommentar


      • #4
        Hallo Hausl,
        • max-Wert für channel = 4
        • max-Wert für syncro = 1000
        • max-Wert für line = 5000

        kleiner Ausschnitt aus der Datenbank:
        Channel Syncro Line Content
        1 1 1 B
        1 1 2 C
        2 1 1 D
        2 1 2 E
        2 1 3 F
        1 0 1 A

        Kommentar


        • #5
          max
          Damit solltest du weiter kommen

          Kommentar


          • #6
            aber wie kann ich den MAX-Wert von
            [10][2][?] ermitteln?

            Kommentar


            • #7
              Wieso lässt du das nicht gleich die Datenbank machen?

              Kommentar


              • #8
                das wäre das optimale, aber da habe ich noch mehr Probleme (

                Kommentar


                • #9
                  Ich finde deinen Array-Aufbau sehr schräg und der macht alles komplizierter als einfacher. Ich wäre eher für den KISS-Ansatz, statt alles so unnötig aufzublasen. Statt dich in so ein wildes und abenteuerliches Konstrukt zu verstricken, solltest du dir lieber die Zeit nehmen und elementare Grundlagen lernen. Zum Beispiel wie man in einer Datenbank Daten aggregiert.

                  Kommentar


                  • #10
                    Ich versuche es über direkt über die DB

                    Kommentar


                    • #11
                      Warum greifst du auf die DB via oci zu, kommst du da "normal" nicht hin? SQL kennt auch sowas MAX().

                      Um wie viele Einträge geht es denn da in etwa?

                      Zitat von genx71 Beitrag anzeigen
                      aber wie kann ich den MAX-Wert von [10][2][?] ermitteln?
                      So?
                      PHP-Code:
                      $a[10][2] = [1510];

                      echo 
                      max$a[10][2] );  // 10 
                      Natürlich müssen die Daten hier zuerst mal alle im Array sein .-> oci_fetch_all() .. Wobei hier wird dann die Frage oben nach der Anzahl wieder interessant.

                      EDIT: DB-Versuch = besser!
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar


                      • #12
                        Vielen Dank werde ich gleich ausprobieren...

                        Kommentar

                        Lädt...
                        X