| 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: 15 let
|
|||
0