php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.01.2006, 14:28  
Gast
 
Beiträge: n/a
Standard Problem mit Funktion

Ich hätt mal wieder ein Problem
und zwar folgendes:

ich habe einen array der folgendermaßen ausschaut:
PHP-Code:
$test2=array(     array(1,102,-123,4,5),
            array(
6,7,8,99,10),
            array(-
1,12,13,14,15),); 
und eine rekursive funktion geschrieben die folgendermaßen ausschaut
(soll den minimal und den maximal wert des mehrdimensionalen arrays ermitteln):
PHP-Code:
function minmax($array,&$min,&$max)
    {
            for(
$i=0;$i<count($array);$i++)
            {
            
$max2=max($array[$i]);        
            if (
$max<$max2){$max=$max2;}else{$max=$max;}
                
            
$min2=min($array[$i]);
            if (
$min>$min2){$min=$min2;}else{$min=$min;}    
            
            }
        echo 
"min:"$min .
max:"
.$max;
    };
    
echo 
minmax($test2,$min,$max); 
die Maximalzahl lässt sich ermitteln jedoch nicht die minzahl, bzw die variable wird nicht "mitgenommen" .

wäre sehr froh wenn mir jemand sagen könnte, was ich falsch gemacht habe.

gruß, Flyingfox
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 15.01.2006, 14:33  
Gast
 
Beiträge: n/a
Standard

Wo ist da was rekursiv? Besonders gut gefällt mir else{$max=$max;} das macht Sinn.
Anders ausgedrückt, dein Funktion ist Schrott und bedarf einer Generalüberholung.

Gruß
phpfan
 
Alt 15.01.2006, 14:43  
Gast
 
Beiträge: n/a
Standard

ok dann hab ich da was verwechselt... ich meinte, dass das vorherige ergebnis gespeichert wird und dann wieder verwendet werden kann.

das else ist wirklich sinnlos das stimmt

wie würdet ihr sowas erstellen? damit es die vorgegangenen ergebnisse von array ebene 0 "weiternimmt" um es zu vergleichen mit der aktuellen ebene des arrays?
 
Alt 15.01.2006, 14:48  
Gast
 
Beiträge: n/a
Standard

Da ist eine Rekursion überhaupt nicht nötig.
PHP-Code:
<?
  $test2
=array(array(1,102,-123,4,5), 
               array(
6,7,8,99,10), 
               array(-
1,12,13,14,15)); 

  function 
minmax($array,&$min,&$max
  {
     
$mx = array();
     
$mn = array();

     foreach (
$array as $ar)
     {
          
$mx[] = max($ar);
          
$mn[] = min($ar);
     }     
     
     
$max max($mx);
     
$min min($mn);     
  } 
     
  
minmax($test2,$min,$max); 

  echo 
"Min = $min, Max = $max";
?>
Gruß
phpfan
 
Alt 15.01.2006, 15:08  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard Re: Problem mit Funktion

Zitat:
Zitat von Flyingfox
PHP-Code:
<?php
function minmax($array,&$min,&$max)
    {
            for(
$i=0;$i<count($array);$i++)
            {
            
$max2=max($array[$i]);        
            if (
$max<$max2){$max=$max2;}else{$max=$max;}
                
            
$min2=min($array[$i]);
            if (
$min>$min2){$min=$min2;}else{$min=$min;}    
            
            }
        echo 
"min:"$min .
max:"
.$max;
    };
    
echo 
minmax($test2,$min,$max);
?>
- Was soll das echo minmax() bewirken? Die Funktion hat keinen Rückgabewert, also wird auch nix ausgegeben.
- Bevor Du das bisherige Minimum bzw. Maximum mit dem neuen vergleichen willst, solltest Du mal sinnvolle Initialisierungswerte verwenden. Womit soll denn am Anfang verglichen werden?

Zitat:
Zitat von phpfan
Besonders gut gefällt mir else{$max=$max;} das macht Sinn.
Hehe. Nett.
Über die Sinnlosigkeit des Codes lästern und dabei sinnlose Sätze bilden. Sinn kann etwas haben, aber nicht machen.
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard 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
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
[Erledigt] Problem mit ereg Funktion! Horvi PHP Tipps 2008 7 20.05.2008 14:29
Problem beim Aufruf einer Funktion elwood PHP Tipps 2008 6 30.08.2007 12:54
Problem mit Funktion Kein Genie PHP Tipps 2007 33 12.03.2007 15:10
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
Problem mit PFad Firefox - Verzeichnis löschen PHP Tipps 2005-2 0 19.07.2005 16:05
Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
problem mit der "die" funktion aircrash PHP Tipps 2005 2 08.01.2005 19:44
Problem mit Umsetzung einer Funktion Datenbanken 1 20.12.2004 14:37
problem mit update funktion aircrash PHP Tipps 2004-2 3 17.11.2004 16:55
Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
Problem mit Funktion PHP Tipps 2004 3 17.07.2004 14:30
Problem mit mail() - Funktion PHP Tipps 2004 2 06.07.2004 18:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
funktion php gefällt mir, max funktion php, min max problem

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.