| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

22-09-2010, 09:34
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
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>"; } }
|

22-09-2010, 09:44
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo,
http://php.net/max
Gruß,
Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-09-2010, 09:48
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
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 )
)
........
|

22-09-2010, 09:50
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Also willst du den höchsten Key? Dann halt max( array_keys()).
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-09-2010, 09:55
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
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));
|

22-09-2010, 10:27
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
alternativ
count($seiten)-1 oder for-schleife bis <count($seiten)
__________________
Wer LESEN kann, ist klar im Vorteil!
|

22-09-2010, 10:30
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von eagle275
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.
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|

22-09-2010, 10:33
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
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.
|

22-09-2010, 10:43
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
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 ....
__________________
Wer LESEN kann, ist klar im Vorteil!
|

22-09-2010, 10:48
|
|
Kangarooo
Registrierter Benutzer
|
|
Registriert seit: Nov 2009
Beiträge: 216
|
|
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.
|

22-09-2010, 10:51
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
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".
|

22-09-2010, 10:51
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von eagle275
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?
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt? 
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke! 
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|