Autor | Zpráva | ||
---|---|---|---|
MaxDJs Profil * |
#1 · Zasláno: 1. 12. 2010, 21:19:26
Zdravím,
potřebuji vypsat hodnoty v tomhle formátu hodnota1 + hodnota2 + hodnota3 + hodnota4 + ... + hodnotaN a za poslední hodnotou bude součet. Ten součet mám, ale u toho výpisu se se mi vypíše + i za tou poslední hodnotou. Takže to mám takhle: 1+2+3+4+5+6+7+=28 Nevím, jak to udělat abych tam to + za tou poslední hodnotu neměl. Zde je kód $hodnoty = array(1,2,3,4,5,6,7); $vysledek = 0; for($i=0;$i< count($hodnoty);$i++) { $vysledek = $vysledek + $hodnoty[$i]; echo $hodnoty[$i]," + "; } echo " = ",$vysledek; |
||
Keeehi Profil |
#2 · Zasláno: 1. 12. 2010, 21:22:35
Co takhle:
$hodnoty = array(1,2,3,4,5,6,7); echo implode(" + ",$hodnoty)." = ".array_sum($hodnoty); |
||
MaxDJs Profil * |
#3 · Zasláno: 1. 12. 2010, 21:26:00
Já bych to nejradši takhle udělal, ale mi zatím nesmíme používat funkce. Můžeme používat jen foreach. To potřebuji do školy a jenom s tím plusm navíc si nevím rady.
|
||
Radovan789 Profil * |
#4 · Zasláno: 1. 12. 2010, 21:30:02
MaxDJs
Vtom případě: $hodnoty = array(1,2,3,4,5,6,7); $vysledek = 0; for($i=0;$i< count($hodnoty);$i++) { if ($i == count($hodnoty)) { echo $hodnoty[$i]; } else { $vysledek = $vysledek + $hodnoty[$i]; echo $hodnoty[$i]," + "; } } echo " = ",$vysledek; |
||
Radovan789 Profil * |
#5 · Zasláno: 1. 12. 2010, 21:31:42
Oprava:
$hodnoty = array(1,2,3,4,5,6,7); $vysledek = 0; for($i=0;$i< count($hodnoty);$i++) { if ($i == count($hodnoty)-1) { echo $hodnoty[$i]; } else { $vysledek = $vysledek + $hodnoty[$i]; echo $hodnoty[$i]," + "; } } echo " = ",$vysledek; Omlouvám se za chybu. |
||
Keeehi Profil |
#6 · Zasláno: 1. 12. 2010, 21:32:00 · Upravil/a: Keeehi
MaxDJs:
Pak tedy: $hodnoty = array(1,2,3,4,5,6,7); $vysledek = 0; for($i=0;$i< count($hodnoty);$i++) { $vysledek += $hodnoty[$i]; echo $hodnoty[$i]; if($i<count($hodnoty)-1) echo " + "; else echo " = ".$vysledek; } |
||
ShiraNai7 Profil |
#7 · Zasláno: 1. 12. 2010, 21:36:19
Nejlépe takto:
$vysledek = 0; $hodnoty = array(1,2,3,4,5,6,7); for($i = 0, $last = (sizeof($hodnoty) - 1); isset($hodnoty[$i]); ++$i) { $vysledek += $hodnoty[$i]; echo $hodnoty[$i]; if($i !== $last) echo '+'; } echo '='.$vysledek; Pokud ale trvas na foreach, tak takto: $vysledek = 0; $hodnoty = array(1,2,3,4,5,6,7); $last = sizeof($hodnoty) - 1; $i = 0; foreach($hodnoty as $hodnota) { $vysledek += $hodnota; echo $hodnota; if($i !== $last) echo '+'; ++$i; } echo '='.$vysledek; |
||
Časová prodleva: 13 let
|
0