Zähler (in Schleife) umdrehen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
beginnen
bestimmen
code
dank
ende
ermitteln
erzeugen
forum
funktioniert code
gegebenfalls
http
karpfen
mischung
oberen grenze
schlauch
schleife
schritt
url
zahl
-
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
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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)
...
? -
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 -
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.
-
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 -
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!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage