Array - Letztes Feld auslesen und Zahl prüfen

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

  • AmicaNoctis
    antwortet
    Zitat von eagle275 Beitrag anzeigen
    1) Arraykeys bei nicht assoziativen Arrays auslassen ist Unsinn in meinen Augen ...vor allem auf der obersten Ebene , bei mehrdimensionalen Arrays
    Es ist bereits ein assoziatives Array – eben gerade weil die Schlüssel nicht fortlaufend sind. Der Ansatz ist doch für das gegebene Problem anscheinend sinnvoll gewählt. Warum also daran herummosern?

    Einen Kommentar schreiben:


  • combie
    antwortet
    Da die Daten aus der DB kommen, sollte man überlegen ob man das Problem schon im SQL Statement erschlagen kann. Solche Nachbearbeitungen in PHP haben immer den Geruch der "miserablen DB Struktur".

    Einen Kommentar schreiben:


  • Kangarooo
    antwortet
    Naja, aber sagen wir mal ich habe die Seiten 1,2 und 10!
    Mit Count bekomme ich ja die Zahl 3 zurück!
    Eigentlich will ich aber die Zahl 10 haben.

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    1) Arraykeys bei nicht assoziativen Arrays auslassen ist Unsinn in meinen Augen ...vor allem auf der obersten Ebene , bei mehrdimensionalen Arrays

    2) könnte man ja abfangen ...

    ich hätte eher die Performance von count angezweifelt , falls php dafür das Array einmal durch iteriert ^^

    außerdem ist ja bei nichtassoziativen Arrays wegen 1) automatisch der höchste Key = Anzahl -1 ....

    Einen Kommentar schreiben:


  • Kangarooo
    antwortet
    Ja, das mit dem count geht nicht. Das war auch mein erster Gedanke. Aber dann bekomme ich praktisch ja nur die Anzahl der keys, und nicht die werte.

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Zitat von eagle275 Beitrag anzeigen
    alternativ

    count($seiten)-1 oder for-schleife bis <count($seiten)
    Eben nicht, da der TO schon erwähnt hat, dass es fehlende Seiten gibt, die er auf diese Weise erst suchen will.

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    alternativ

    count($seiten)-1 oder for-schleife bis <count($seiten)

    Einen Kommentar schreiben:


  • Kangarooo
    antwortet
    Oh man, stimmt....ich brauch den key! ich habe immer nur gesucht wie ich die Zahl bekomme! Super, funktioniert! Vielen Dank!!
    PHP-Code:
    $hoechstezahl=max(array_keys($seiten)); 

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Also willst du den höchsten Key? Dann halt max(array_keys()).

    Einen Kommentar schreiben:


  • Kangarooo
    antwortet
    Das habe ich schon versucht! Das Problem ist, dass ich ein mehrdemensionales Array habe. Irgendwie geht dass dann nicht.
    $seiten[$seite][$position]
    Und ich benötige die höchte zahl von $seite
    PHP-Code:
    Array
    (
        [
    1] => Array
            (
                [
    8] => Array
                    (
                        [
    uid] => 465
                        
    [site] => 1
                        
    [headline] => Einstellungen
                        
    [format] => halb
                    
    )

                [
    9] => Array
                    (
                        [
    uid] => 488
                        
    [site] => 1
                        
    [headline] => Doku
                        
    [format] => halb
                    
    )

            )

        [
    2] => Array
            (
                [
    6] => Array
                    (
                        [
    uid] => 446
                        
    [site] => 2
                        
    [headline] => Bilder
                        
    [format] => ganz
                    
    )

            )

    ........ 

    Einen Kommentar schreiben:


  • AmicaNoctis
    antwortet
    Hallo,

    http://php.net/max

    Gruß,

    Amica

    Einen Kommentar schreiben:


  • Kangarooo
    hat ein Thema erstellt Array - Letztes Feld auslesen und Zahl prüfen.

    Array - Letztes Feld auslesen und Zahl prüfen

    Hallo,
    ich habe einen Seitenplan in einer Datenbank.
    Z.b. habe ich die Seiten 1,2,3 und 5.
    Diese Seiten sind im Array $seiten gespeichert.
    Jetzt will ich wissen, wie die letzte und somit auch höchste Zahl in meinem Array heisst, damit ich eine for-Schliefe laufen lassen kann in der ich bis zu dieser höchsten Zahl zähle und rausfinde, welche zahl fehlt.
    Wie bestimme ich die höchste Zahl im Array?:
    PHP-Code:

    for($zahl 1$zahl <= $hoechste_zahl$zahl++)
    {
        if(!
    in_array($zahl$seiten[$site]))
        {
            echo 
    $zahl." fehlt<br>";
        }

Lädt...
X