kostenloser Webspace werbefrei: lima-city


Zähler (in Schleife) umdrehen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    freecontent

    freecontent hat kostenlosen Webspace.

    Hallo

    habe da eine Schleife die läüft von x=0 bis x<=$ende

    $ende=12;
    for ($x=0; $x<=$ende; $x++) {
    $xnr = ($x+1);
    echo "<br>Nr. ".$xnr;
    }

    die Ergebnisse will ich aber rückwärts durch-nummerieren
    so dass es von oben nach unten zählt,
    leider steh ich da grad auf dem Schlauch

    ich dachte evtl mit:
    $xnr = ($ende - $x);
    aber das klappt nicht so wirklich.

    wie kann ich in der Schleife die Schritte "rückwärts" zählen?
    Danke

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Verwende doch anstatt x++ die Schleife mit x--
    Du musst halt gegebenfalls vorher ermitteln, welches der höchste Wert ist, um die Obergrenze zu bestimmen, von der ab heruntergezählt werden soll.

    Beitrag zuletzt geändert: 17.1.2010 12:12:25 von karpfen
  4. Autor dieses Themas

    freecontent

    freecontent hat kostenlosen Webspace.

    hallo

    hab ich auch schon dran gedacht, aber das Problem bleibt dann das gleiche, nur umgedreht,

    habe vergessen zu sagen: ich brauche beide Werte, den der vorwärts läuft und den der rückwätzs läuft
    für Ergbnis in der Art (hier Bsp mit 5 Schritten)

    1 = 5
    2 = 4
    3 = 3
    4 = 2
    5 =1
    also jeweil die "komplimentär-Zahl" zum Zähler (ich hoffe das "Wort" stimmt)
    ...
    ?
  5. Ich hoffe, mein Code funktioniert:

    <?php
        $array_vor = array(1, 2, 3, 4, 5);
        $array_rue = rsort($array_vor);
    
        $array_neu = array();
        $c = 0;
        foreach($array_vor as $x)
    	{
    	$array_neu[$array_vor[$c]] = $array_rue[$c];
    	$c++;
    	}
        print_r($array_neu);
    ?>


    In $array_vor kommen die Werte. Dann wird danach $array_rue rückwärts sortiert. $array_neu bekommt die Werte von $array_vor als Schlüssel und die Werte von $array_rue als Wert.



    Edit: Falls das nicht funktioniert, habe ich noch einen Code gemacht. Ich denke, der hier ist besser:


    <?php
        $array_vor = array(1, 2, 3, 4, 5);
        $array_rue = $array_vor;
        krsort($array_rue);
    
        $c = 0;
        foreach($array_vor as $x)
    	{
    	echo $array_vor[$c];
    	echo '|'; // etwas zwischen den beiden Werten ausgeben
    	echo $array_rue[$c];
    	echo '<br />'; // eine neue Zeile erzeugen
    	$c++;
    	}
    ?>


    Beitrag zuletzt geändert: 17.1.2010 12:38:36 von drafed-map
  6. Wenn ich das richtig verstehe, dann reicht doch eigentlich, wenn du eine Schleife hast und x dann bei jeder Erhöhung von der oberen Grenze abziehst, dass sollte doch die von dir gewünschte Zahl ergeben.
  7. Keines hat richtig funktioniert. Das Optimum ist eine Mischung aus beidem:
    <?php
        $array_vor = array(1, 2, 3, 4, 5);
        $array_rue = $array_vor;
        rsort($array_rue);
    
        $array_neu = array();
        $c = 0;
        foreach($array_vor as $x)
    	{
    	$array_neu[$array_vor[$c]] = $array_rue[$c];
    	$c++;
    	}
    
        echo '<pre>';
        print_r($array_neu);
        echo '</pre>';
    ?>

    Auch hier zu bestaunen: http://drafed-map.lima-city.de/im_lc-forum/count_example.php



    Edit: Du kannst du Werte natürlich auch anders nutzen. Beispiel: http://drafed-map.lima-city.de/im_lc-forum/count_example2.php

    Hier ist der Code:
    <?php
        $array_vor = array(1, 2, 3, 4, 5);
        $array_rue = $array_vor;
        rsort($array_rue);
    
        $array_neu = array();
        $c = 0;
        foreach($array_vor as $x)
    	{
    	echo 'Wert: '.$array_vor[$c];
    	echo '<br />';
    	echo 'Gegensatz: '.$array_rue[$c];
    	echo '<br /><br />';
    	$c++;
    	}
    ?>


    Beitrag zuletzt geändert: 17.1.2010 12:48:27 von drafed-map
  8. Autor dieses Themas

    freecontent

    freecontent hat kostenlosen Webspace.

    karpfen schrieb:
    Wenn ich das richtig verstehe, dann reicht doch eigentlich, wenn du eine Schleife hast und x dann bei jeder Erhöhung von der oberen Grenze abziehst, dass sollte doch die von dir gewünschte Zahl ergeben.


    jepp, so ist es denke ich am einfachsten ... zumidest klappt es jetzt so:



    $meinarray = array("a","b","c","d","e","f","g","h");
    $ende=count($meinarray);

    for ($x=0; $x<$ende; $x++) {
    $xv = ($x+1); // --- aufsteigend
    $xr = ($ende-$x); // --- absteigend
    echo "<br /> aufsteigend: ".$xv." | absteigend: ".$xr." | Inhalt: ".$meinarray[$x];
    }





    hab mich verhuddelt, weil das Array ja mit 0 (Nulll) beginnt, ich aber
    die Ausgabe des Zählers mit 1 beginnen möchte .... jetzt klappt es

    die Lösung von drafed-map funktioniert auch, frisst aber glaub mehr Ressourchen, oder?
    Danke!
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!