Array - Letztes Feld auslesen und Zahl prüfen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AmicaNoctis
    replied
    Originally posted by eagle275 View Post
    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?

    Leave a comment:


  • combie
    replied
    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".

    Leave a comment:


  • Kangarooo
    replied
    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.

    Leave a comment:


  • eagle275
    replied
    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 ....

    Leave a comment:


  • Kangarooo
    replied
    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.

    Leave a comment:


  • AmicaNoctis
    replied
    Originally posted by eagle275 View Post
    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.

    Leave a comment:


  • eagle275
    replied
    alternativ

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

    Leave a comment:


  • Kangarooo
    replied
    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)); 

    Leave a comment:


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

    Leave a comment:


  • Kangarooo
    replied
    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
                    
    )

            )

    ........ 

    Leave a comment:


  • AmicaNoctis
    replied
    Hallo,

    http://php.net/max

    Gruß,

    Amica

    Leave a comment:


  • 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>";
        }

Working...
X