Polecam stronę niezbednik-nauczyciela.pl, która oferuje narzędzia internetowe potrzebne w codziennej pracy nauczycieli.
Uwaga! Materiały ze strony teacher.webd.pl, są przenoszone na tę stronę do sekcji Publikacje - Materiały dydaktyczne oraz Publikacje - Aplikacje. Strona teacher.webd.pl zostanie zamknięta.

Lekcje >> Podstawy PHP

Zmienianie kolejności elementów

Podczas tych zajęć będziemy stosować wbudowane funkcje PHP, do zmiany kolejności elementów tablic.

Przetasowanie tablicy za pomocą funcji shuffle()

Funkcja ma postać bool shuffle(array &$tablica). Podczas "mieszania" elementów, tworzone są nowe klucze, więc funkcja ta nie nadaje się to tablic asocjacyjnych.

Ćwiczenie 2_9_0_1. Tasowanie elementów tablicy za pomocą funkcji shuffle()

Zastosuj następujący kod PHP:

<?php
  require_once('../moje_funkcje.php');
  $t1=array(3,1,67,34,8);
  $t2=array('k1'=>3,'k2'=>1,'k3'=>67,'k4'=>34,'k5'=>8);
  shuffle($t1);
  shuffle($t2);
  pokaz_tablice($t1);
  pokaz_tablice($t2);
?>

W wyniku zastosowania funkcji shuffle(), kolejność elementów tablic została zmieniona w sposób losowy. Utworzone zostały nowe indeksy.

Wybieranie losowe jednego lub kilku elementów tablicy za pomocą funkcji array_rand()

Funkcja ma postać mixed array_rand(array $tablica[, int $ilość]). "Wyciągane" są klucze elementów. Jeżeli wartość opcjonalna $ilość nie jest podana, to otrzymujemy jeden klucz, w przeciwnym przypadku - tablicę kluczy.

Ćwiczenie 2_9_0_2. Losowe wybieranie elementów tablicy za pomocą funkcji array_rand()

Zastosuj następujący kod PHP:

<?php
  require_once('../moje_funkcje.php');
  $t1=array('k1'=>3,'k2'=>1,'k3'=>67,'k4'=>34,'k5'=>8);
  $t2=array_rand($t1,2);
  pokaz_tablice($t2);
?>

W wyniku zastosowania funkcji array_rand(), otrzymaliśmy dwuelementową tablicę indeksów, losowo wybranych elementów.

Odwrócenie kolejności elementów tablicy za pomocą funkcji array_reverse()

Funkcja ma postać array array_reverse(array $wejście[, bool $zachowaj_klucze]). Jak widzimy, opcjonalnie możemy również zachować klucze.

Ćwiczenie 2_9_0_3. Odwrócenie kolejności elementów tablicy za pomocą funkcji array_reverse()

Zastosuj następujący kod PHP:

<?php
  require_once('../moje_funkcje.php');
  $t1=array(3,1,67,34,8);
  $t2=array('k1'=>3,'k2'=>1,'k3'=>67,'k4'=>34,'k5'=>8);
  $t=array_reverse($t1);
  pokaz_tablice($t);
  $t=array_reverse($t1,true);
  pokaz_tablice($t);
  $t=array_reverse($t2);
  pokaz_tablice($t);
  $t=array_reverse($t2,true);
  pokaz_tablice($t);
?>

W pierwszym przypadku, utworzone zostały nowe indeksy, w drugim indeksy zachowano. Elementy tablicy asocjacyjnej zawsze zachowują klucze.