Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Dzielenie wyników w pary
Forum PHP.pl > Forum > Przedszkole
misio90
Witam

Mam prosty formularz z polem textarea.
Wpisuję w nim kilka wyrazów bądź liczb jedeno pod drugim.
1
2
3
4
5
6
7
8
9

Nastepnie przy pomocy takiego kodu, mieszam je oraz wyświetlam
  1. function mieszaj() {
  2. $tabela = explode("\n", $_POST['wyrazy']);
  3. shuffle($tabela);
  4. return implode('<br />', $tabela);
  5. }
  6. echo mieszaj();


Otrzymuję np.

8
10
2
1
3
6
4
5
7
9

Chciałbym otrzymane wyniki podzielić na pary np.

1 - 3
8 - 5
7 - 9
4 - 2
6 - nie do pary

Problem w tym, że nie wiem jak to zrobić ;/

Z góry dziękuję za wszelką pomoc. Pozdrawiam Marek
tab
Nie napisałes jaki jest warunek ich łączenia więc zakłądam że nie ma żadnego. Jeśli tak jest to możesz zrobić tak:
  1. <?php
  2. function mieszaj($wyrazy) {
  3. $tabela = explode("\n", $wyrazy);
  4. shuffle($tabela);
  5. return $tabela;
  6. }
  7. $wyrazy = $_POST['wyrazy'];
  8. $wyrazy = mieszaj($wyrazy);
  9. for ($i=0 ; $i<=(floor(sizeof($wyrazy) / 2)) ; $i+=2)
  10. {
  11. echo $wyrazy[$i] . ' - ' . $wyrazy[$i + 1] . '<br>';
  12. }
  13. $size = sizeof($wyrazy);
  14. if (($size % 2) == 1)
  15. {
  16. echo $wyrazy[$size - 1] . ' - nie do pary';
  17. }

albo tak (przejrzysciej):
  1. $numbers = $_POST['wyrazy'];
  2. $numbers = explode("\n", $numbers);
  3. shuffle($numbers);
  4. for ($i=0 ;; $i+=2)
  5. {
  6. if (isset($numbers[$i]))
  7. {
  8. echo $numbers[$i] . ' - ';
  9. if (isset($numbers[$i + 1]))
  10. {
  11. echo $numbers[$i + 1];
  12. } else
  13. {
  14. echo 'nie do pary';
  15. }
  16. echo '<br>';
  17. } else
  18. {
  19. break;
  20. }
  21. }
misio90
@tab wielkie dzieki za ten skrypt. Działa idealnie smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.