Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Blokada liczb - instrukcja warunkowa.
--ozi--
post
Post #1





Goście







Witam.

Oto prawidłowy zestaw liczb pionowych: 1,1 2,1 3,1 4,1
a ten zaś z błędem 1,2 2,1 3,1 4,1

Funkcją explode rozbijam sobie liczby:
  1. $ciag = $_POST["nr1"].','.$_POST["nr2"].','.$_POST["nr3"].','.$_POST["nr4"];
  2. $zn = explode(',', $ciag);
  3.  
  4. $liczba1 = $zn[0];
  5. $liczba2 = $zn[1];
  6. $liczba3 = $zn[2];
  7. $liczba4 = $zn[3];
  8. $liczba5 = $zn[4];
  9. $liczba6 = $zn[5];
  10. $liczba7 = $zn[6];
  11. $liczba8 = $zn[7];


Liczby pionowe 1, 3, 5, 7 reszta poziome.
Jak zrobić aby tak jak w powyższym przykładzie jedne albo drugie będą o jeden większe a drugie muszą być takie same ponieważ nie ma możliwości na skos?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Ależ paskudnie, panowie. Stworzyłem taką funkcję na szybko bez sprawdzenia. Przyjmuje ona jako parametr dowolną tablicę punktów. Każdy punkt to array(x, y). Uważam, że taka powinna być postać argumentów funkcji.
  1. function isVertical($points) {
  2. $lastX = null;
  3. $coordsY = array();
  4. foreach($points as $point) {
  5. list($x, $y) = $point;
  6. if($lastX !== null AND $x !== $lastX) // jeżeli współrzędna X jest inna niż nasz ostatni X, to zwracamy fałsz
  7. return false;
  8. $coordsY[] = $y;
  9. $lastX = $x;
  10. }
  11. sort($coordsY);
  12. $lastY = null;
  13. foreach($coordsY as $y) { // sprawdzamy, czy współrzędne Y rosną co 1
  14. if($lastY !== null AND $y - $lastY !== 1)
  15. return false;
  16. $lastY = $y;
  17. }
  18. return true;
  19. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 06:34