php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2010

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.11.2010, 17:11  
Erfahrener Benutzer
 
Registriert seit: 02.01.2009
Beiträge: 189
beta02 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Grösster Wert eines Arrays mit negativen Zahlen herausfinden

Hallo zusammen

Ich möchte gerne die grösste Zahl eines Arrays mit negativen Zahlen (kann auch positive Zahlen enthalten) herausfinden. Wenn der Array auch positive Zahlen enthält, funktioniert es mit der Funktion max(). Enthält der Array aber nur negative Zahlen gibt die Funktion max() eine Fehlermeldung aus und zwar:
Zitat:
Warning: Wrong parameter count for max()
Wie kann ich die grösste Zahl eines Arrays mit NUR negativen Zahlen bestimmen? Ich hoffe jemand kann mir helfen! Danke!
beta02 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 21.11.2010, 17:17  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von beta02 Beitrag anzeigen
Enthält der Array aber nur negative Zahlen gibt die Funktion max() eine Fehlermeldung aus und zwar:
Zitat:
Warning: Wrong parameter count for max()
Vollkommener Quatsch.
Das funktioniert problemlos, und außerdem ist die Meldung auch vollkommen unsinnig, wenn du max nach wie vor ein Array als Parameter übergibst.
Schlussfolgerung: Du machst irgendwas anderes, verrätst uns aber dummerweise nicht, was.

Zitat:
Wie kann ich die grösste Zahl eines Arrays mit NUR negativen Zahlen bestimmen?
In dem du es einfach richtig machst.
Was du derzeit falsch machst, kann ich dir nicht sagen, weil du keinen Code zeigst.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 21.11.2010, 21:23  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von beta02 Beitrag anzeigen
Hallo zusammen

Ich möchte gerne die grösste Zahl eines Arrays mit negativen Zahlen (kann auch positive Zahlen enthalten) herausfinden. Wenn der Array auch positive Zahlen enthält, funktioniert es mit der Funktion max(). Enthält der Array aber nur negative Zahlen gibt die Funktion max() eine Fehlermeldung aus und zwar:

Zitat:
Warning: Wrong parameter count for max()
Wenn man nach (exakt) dieser Fehlermeldung für max() oder min() googelt, erhält man zwar ein paar Treffer, aber keinen in der PHP-Bug-Datenbank. Außerdem waren alle Fundstellen von 2007 oder älter. Mit keinem der dort gefundenen Fehlermuster konnte ich max() auf einem halbwegs aktuellen PHP (5.3.2) die gleiche Fehlermeldung entlocken.

Zitat:
Wie kann ich die grösste Zahl eines Arrays mit NUR negativen Zahlen bestimmen? Ich hoffe jemand kann mir helfen! Danke!
Man kann das neben max() auch mit einer Schleife oder array_reduce() und ein wenig Mathematik (Grundschulkenntnisse) machen.
fireweasel ist offline  
Alt 22.11.2010, 16:28  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Bevor man sich durch Schleifen quält, kann man auch mit sort, sortieren und je nach Ordnung das erste oder letzte Element wählen. Ist zwar langsamer als max() aber besser als nix.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline  
Alt 23.11.2010, 12:56  
Erfahrener Benutzer
 
Benutzerbild von fireweasel
 
Registriert seit: 20.03.2010
Beiträge: 474
PHP-Kenntnisse:
Fortgeschritten
fireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblickfireweasel ist ein Lichtblick
fireweasel eine Nachricht über ICQ schicken fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken fireweasel eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von jabubo Beitrag anzeigen
Bevor man sich durch Schleifen quält, kann man auch mit sort, sortieren und je nach Ordnung das erste oder letzte Element wählen. Ist zwar langsamer als max() ...
... und langsamer als mit einer Schleife den Minimal- oder Maximal-Wert zu finden.
Auch ist die "Sortierung" eines Arrays nach Wert-Größe nicht immer gewünscht.
fireweasel ist offline  
Alt 23.11.2010, 13:24  
Erfahrener Benutzer
 
Registriert seit: 23.09.2010
Beiträge: 146
PHP-Kenntnisse:
Fortgeschritten
jabubo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von fireweasel Beitrag anzeigen
... und langsamer als mit einer Schleife den Minimal- oder Maximal-Wert zu finden.
Auch ist die "Sortierung" eines Arrays nach Wert-Größe nicht immer gewünscht.
Theoretisch. Kommt halt auf den Fundort an. Die Sortfunktion ist immerhin in C gelöst und die Schleife in PHP ... Generell und von der Logik her, aber durchaus richtig, lieber eine Schleife als Sortierung.
__________________
PHP online testen, zum Beispiel: md5, base64_decode, preg_match, urldecode und viele weitere...
jabubo ist offline  
Alt 23.11.2010, 14:22  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

PHP-Code:
$min $max 0;
$werte = array(-4, -, -);
foreach(
$werte as $wert) {
  if ( 
$wert $min $min $wert;
  if ( 
$wert $max $max $wert;
}
echo 
"Min: $min - Max = $max"
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?

Geändert von Wolla (23.11.2010 um 16:31 Uhr). Grund: verbesserter Code in #10
Wolla ist offline  
Alt 23.11.2010, 14:32  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

@Wolla: Schön und gut, liefert aber auch kein anderes Ergebnis als min($werte) und max($werte).
Fakt ist und bleibt, es besteht hier einfach keine Notwendigkeit, sich die Funktionalität selber zu basteln - sie ist mit den genannten Funktionen bereits gegeben, und funktioniert auch wie es zu erwarten wäre.

Was der Threadstarter in seinem Code für einen Fehler eingebaut hat, werden wir wohl nicht mehr herausfinden, wenn er sich nicht mehr dazu äußert.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline  
Alt 23.11.2010, 14:34  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.563
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

dat funzt nicht wolla , weil du automatisch von max > 0 ausgehst ..

ich würde ja max NACH dem ersten ermitteln des Minimums auf diesen Wert setzen und dann nochmal arbeiten
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline  
Alt 23.11.2010, 16:30  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

jo haste recht. Muss man überarbeiten.

Nur der Vollständigkeit halber:
PHP-Code:
$werte = array(-4, -, -);
$min $max $werte[0];
foreach(
$werte as $wert) {
  if ( 
$wert $min $min $wert;
  if ( 
$wert $max $max $wert;
}
echo 
"Min: $min - Max = $max"
Ich hab min() und max() bei mir auch ohne Probleme getestet und hatte jetzt verstanden, dass es bestimmte PHP-Versionen gibt, bei denen Merkwürdigkeiten auftreten können. Da muss man dann halt sehen, wie man anders zum Ziel kommt.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL - Zählen wie oft ein Wert in einer Datenbank vorkommt. SabCat75 PHP Tipps 2010 4 04.11.2010 22:37
[Erledigt] Arrays mit Datum vergleichen und ensprechend Wert einfügen BlackPanther PHP Tipps 2010 9 05.03.2010 17:27
Bestimmten Wert zählen! Elite1981 PHP Tipps 2010 11 28.01.2010 09:22
Datensätze mit bestimmten Wert in Datenbank zählen und ausgeben ?!?! kreativepassion PHP Tipps 2009 10 24.06.2009 21:17
mit array_count_values($array) einen bestimmten Wert zählen flual2000 PHP Tipps 2009 2 22.04.2009 14:12
In Textdatei Zeile mit Wert herausfinden? Softyx PHP Tipps 2008 4 20.08.2008 04:38
in zwei arrays die datensätze finden, die einen bestimmten wert gemeinsam haben huedrant PHP Tipps 2008 3 14.05.2008 19:13
Zahlen mit <>= im negativen Bereich? BartTheDevil89 PHP Tipps 2006 5 15.10.2006 00:22
Zählen wie oft ein bestimmter Wert vorkommt Da-JS PHP Tipps 2006 13 03.07.2006 01:20
array zählen lindner PHP Tipps 2006 8 13.05.2006 17:46
Werte in mehrdim. Arrays zählen PHP Tipps 2007 4 19.12.2005 10:41
arrays rückwärts zählen PHP Tipps 2005-2 2 18.08.2005 00:28
Die Nähe zweier Zahlen herausfinden? atom-dragon PHP Tipps 2005-2 25 22.07.2005 08:08
Arrays nachträglich (Inhalte) zählen und sortieren Gumfuzi PHP Tipps 2004-2 3 20.11.2004 00:00
[Erledigt] Zählen wie viele Arrays bereits diesen Wert haben PHP Tipps 2004 6 04.09.2004 01:04

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php negative zahlen, php kleinster wert aus array, array negative zahlen, php array größter wert, array min max wert, php foreach array die größte zahl, php max negative werte, php array max, php array negative werte, negative zahlen php, php max array, php array min max, php negativen betrag zu positiven, min max php array, php zwei größten werte aus array, negative zahlen in arrays, array größter wert, php höhster wert im array, größten wert finden for schleife, gößter wert in einem array bestimmen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum