Autor | Zpráva | ||
---|---|---|---|
MaxDJs Profil * |
Zdravím,
existuje jinej způsob jak vypočítat hodnotu výrazu 1/x*y než tenhle: <?php $x = array(10,40,3,33,90); $y = array(40,98,100,46,18); for($i=0;$i<=4;$i++) { for($c=0;$c<=4;$c++) { $vysledek = 1/($x[$i]*$y[$c]); echo "1/".$x[$i]."*".$y[$c]." = "; echo $vysledek; echo "<br />"; } } ?> Děkuji za odpověď Moderátor Alphard: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
xmark Profil |
#2 · Zasláno: 13. 1. 2011, 18:49:46
|
||
MaxDJs Profil * |
xmark:
A jak můžu zároveň procházet dvě pole pomocí foreach? |
||
Radek Cvek Profil |
#4 · Zasláno: 13. 1. 2011, 18:54:45 · Upravil/a: Radek Cvek
<?php $x = array(10,40,3,33,90); $y = array(40,98,100,46,18); foreach ($x as &$valuex) foreach ($y as &$valuey) { $vysledek = 1/($valuex*$valuey); echo "1/".$valuex."*".$valuey." = "; echo $vysledek; echo "<br />"; } ?> |
||
MaxDJs Profil * |
#5 · Zasláno: 13. 1. 2011, 18:59:57
Děkuji
|
||
AM_ Profil |
#6 · Zasláno: 14. 1. 2011, 18:45:15
Radek Cvek:
„foreach ($x as &$valuex)“ proč? hodnotu pole tam nikde neměníš. Navíc tahle konstrukce může mít velice nepříjemné vedlejší efekty, po každém foreach s referencítkem & doporučuji volat unset($valuex); kde $valuex je reference z foreachu. Reference totiž zůstane živá jako odkaz na poslední prvek a pokud někde dál v programu použiješ proměnnou $valuex, přepíšeš si poslední prvek pole, a to je překrásná chyba, která se pak výborně hledá. |
||
Alphard Profil |
#7 · Zasláno: 14. 1. 2011, 23:17:22
Kontrola, jestli se nedělí 0, by neškodila.
Výpis lze dát (přehledně) na jeden řádek. echo "1/$valuex*$valuey = ".(1/($valuex*$valuey))."<br />"; |
||
Časová prodleva: 13 let
|
0