Autor Zpráva
MaxDJs
Profil *
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
Co takhle:
$hodnoty = array(1,2,3,4,5,6,7);
echo implode(" + ",$hodnoty)." = ".array_sum($hodnoty);
Není to hezčí?
MaxDJs
Profil *
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 *
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 *
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
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
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;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: