![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
witam!
jestem początkujący w php i mam pewien problem. miałem do zrobienia zadanie i zrobiłem je wspólnie z kolega informatykiem i wytłumaczył ale niezbyt zrozumiale.... oto to zadanie: Kod <?php $x=isset($_POST['liczba_x']) ? $_POST['liczba_x'] : 1; $y=isset($_POST['liczba_y']) ? $_POST['liczba_y'] : 0; if($x>$y){ echo ' <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <form action="/tabela.php" method="post"> liczby x: <input type="text" name="liczba_x" /> liczba y: <input type="text" name="liczba_y" /> <input type="submit" value="Oblicz" /> </form> </body> </html> '; }else{ $value=array(); for($i=0; $i<$x; $i++){ $value[]=rand(0,$y); } sort($value); echo '<div>'; foreach($value as $key => $row){ echo '<div> Liczba nr:'.$key.' to '.$row.'</div>'; } echo '</div> wiem co ten kod robi (losuje 5 liczb (x) ze zbioru liczb (y)). że jest tu zastosowana pętla if... else... , ale nie zbyt ogarniam co tu sie po kolei dzieje. może ktoś logicznie wytłumaczyć co sie dzieje na poszczególnych etapach? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od tego, że Twój kod losuje x liczb z przedziału <0, y> (IMG:style_emoticons/default/winksmiley.jpg)
Na początku mamy dość ... osobliwe sprawdzenie "co robić". Założono, że liczba losowanych liczb nie może być większa niż prawa granica zakresu (liczba y), choć niepotrzebnie, bo wylosowane liczby i tak mogą się powtarzać. Tak czy inaczej dwie pierwsze linijki to tzw "operator trójkowy"(poczytaj) - jeśli nie istnieją dane z post, przypisuje zmiennym x i y wartości domyślne, odpowiednio 1 i 0. Następnie wykonywane jest sprawdzenie, czy x jest wieksze niż y(wspomniane wcześniej). To jest główny warunek decyzyjny. Jeśli jest spełniony, to albo nie ma danych z post, albo dane nie są poprawne. Wyświetlany jest wtedy formularz html, gdzie wpisujemy odpowiednie dane. Jeśli warunek nie jest spełniony to znak, że nadeszły dane z post i są one poprawne (powiedzmy). Można więc zabrać się za losowanie. Inicjujesz tablicę $value, tak, że jeśli nie zostanie nawet wylosowana żadna liczba to zmienna istnieje(tylko jest pusta) i nie zostanie wygenerowany błąd. Następnie $x razy wykonywana jest pętla. W pętli tej losowana jest liczba z przedziału (0, $y) i wrzucana na stos(czyli jako następny element tablicy). Następnie tablica jest sortowana i wyświetlana na ekranie w pętli. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
DZIEKI WIELKIE!
a z tym 5 to taka mała głupia pomyłka hehe bo zawsze kazałem mu losować 5 liczb nie wiem czemu;) wielkie dzieki!!!!!! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 22:21 |