• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Proszę o wytłumaczenie konstrukcji.

VPS Starter Arubacloud
0 głosów
295 wizyt
pytanie zadane 25 listopada 2017 w PHP przez pawelwch Użytkownik (880 p.)

Witam. Mogłby mi ktos wytłumaczyć ponizsza konstrukcje?


Z mojej obserwacji jest to rodzaj pewnego odliczania( petla while). Nie moge do konca rozszyfrowac tego wiersza z IF... Mogłby ktos "przełożyc na język polski" ;)

3 odpowiedzi

+2 głosów
odpowiedź 25 listopada 2017 przez Kamil Łydka Stary wyjadacz (13,600 p.)
edycja 25 listopada 2017 przez Kamil Łydka

Zapoznaj się z operatorem modulo. Ogólnie służy on do wyznaczania reszty.

if ( ($liczba %2) == 0){
 echo "liczba jest parzysta"; 
}

Bo jeśli coś podzielimy przez 2 i reszta wynosi 0, to znaczy że liczba jest parzysta. Jeśli podzielimy przez 2 i reszta wynosi: 1, to...? :) (No i ten ostatni else jest niepotrzebny.)

Przełóż to na swój algorytm i zrozum, jakie liczby drukuje twój. 

(na przyszłość, nie wrzucaj screena kodu, tylko sam kod, umieszczony w bloczkach)

1
komentarz 25 listopada 2017 przez pawelwch Użytkownik (880 p.)
...to wychodzi liczba nieparzysta ;)

Dziekuje :)
komentarz 25 listopada 2017 przez pawelwch Użytkownik (880 p.)

Jak juz mam taka okazje to zapytam, co w tym kodzie jest źle? Przekierowuje mnie pod błedny adres z tego co widzę...

https://gist.github.com/pawelwch/fc7153ded49b61031da992ef6fad7758

Powinno przekierowywać na 

http://localhost/youtube1/petlaphp.php

a przekierowuje na 

http://localhost/youtube1/localhost/youtube1/petlaphp.php 

komentarz 25 listopada 2017 przez Kamil Łydka Stary wyjadacz (13,600 p.)

Przeanalizuj te dwa adresy, które wstawiłeś i czy na pewno tutaj: 

<form action="http://localhost/youtube1/petlaphp.php"

potrzebujesz ten http:://localhost/

+2 głosów
odpowiedź 25 listopada 2017 przez Eryk Andrzejewski Mędrzec (164,260 p.)
Pętla while wykonuje się od numerka startowego do końcowego (wysłanego w zapytaniu). Po każdym jej obiegu ten numer jest zwiększany o jeden. Czyli program operuje na zbiorze liczb naturalnych z przedziału <$startNum, $countTo>.

W każdym obiegu pętli jest sprawdzane, czy wynik modulo zmiennej $startNum przez 2 jest różny od zera, a więc czy liczba jest nieparzysta (dla liczb nieparzystych modulo 2 wynosi 1 - modulo to inaczej reszta z dzielenia). Jeżeli jest nieparzysta, to wyświetla ją na ekranie (a następnie inkrementuje liczbę, bo pozostałe bloki się nie wykonają).

Jeżeli jednak była parzysta, to sprawdza się najpierw czy jest większa lub równa 1000. Jeśli tak, przerywa się działanie całej pętli i program się kończy (lub wykonuje się kod poniżej).

Jeśli jednak jest mniejsza niż 1000, to zwiększa się liczbę $startNum i ponownie wykonuje pętlę.
komentarz 25 listopada 2017 przez pawelwch Użytkownik (880 p.)
Super. Dziekuje. O takie cos mi chodziło :)
+1 głos
odpowiedź 25 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
Na Polski? Proszę bardzo:

Jeśli $startnum mod 2 jest różne od 0, to wypisz $startnum ", ".

Ogólnie modulo to reszta z dzielenia.

Nie ma tu czego za bardzo tłumaczyć, ani tym bardziej rozumieć. Przy pomocy modulo 2 zazwyczaj sprawdza się, czy liczba jest parzysta / nieparzysta.
3
komentarz 25 listopada 2017 przez Tomek Sochacki Ekspert (227,510 p.)

Przy pomocy modulo 2 zazwyczaj sprawdza się, czy liczba jest parzysta / nieparzysta.

Można też to sprawdzić operatorem bitowym AND, jest to krótsza forma zapisu, choć niektórzy krytykują ogólnie używanie operatorów bitowych ale to już kwestia indywidualna więc przykład daję jako pewną ciekawostkę :)

const numberType = ( n ) => n&1 ? 'nieparzysta' : 'parzysta';

numberType( 2 );  //"parzysta"
numberType( 20 ); //"parzysta"
numberType( 3 );  //"nieparzysta"
numberType( -3 ); //"nieparzysta"
numberType( -4 ); //"parzysta"

 

komentarz 26 listopada 2017 przez CzikaCarry Szeryf (75,340 p.)
Ooo, a tego to nie wiedziałem, chyba zacznę korzystać :)

Podobne pytania

0 głosów
1 odpowiedź 170 wizyt
pytanie zadane 26 lutego 2017 w C# przez Kamil Musial Początkujący (250 p.)
0 głosów
1 odpowiedź 142 wizyt

92,452 zapytań

141,261 odpowiedzi

319,074 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...