1 / 38

Wykład 5

Wykład 5. Technologie internetowe. PHP Pliki Cookie Funkcje daty i czasu Tablice. Korzystanie z systemu plików (pliki na serwerze!)

umeko
Télécharger la présentation

Wykład 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Wykład5 Technologie internetowe • PHP • Pliki • Cookie • Funkcje daty i czasu • Tablice

  2. Korzystanie z systemu plików (pliki na serwerze!) Do otwierania plików służy funkcja fopen(nazwa_pliku,tryb). Nazwa pliku to pełna ścieżka do pliku, który tworzymy lub otwieramy, mode określa tryb działania funkcji. Funkcja zwraca wskaźnik pliku (służy jako odnośnik i dostarcza informacji o pliku). Parametr tryb przyjmuje jedną z następujących wartości:

  3. 1. Sprawdzanie czy plik istnieje file_exists("plik.php") 2. Tworzenie nowego pliku fopen("c:/moje dane/plik.txt","w+"); - jeśli nie podamy trybu plik będzie otwarty do odczytu 3. Zapis do pliku $file = @fopen($plik, "w+") – tworzy wskaźnik pliku (zmienną plikową) fwrite($file, $tekst); //zapis lub fputs ($file, $tekst, $dlugosc); //zapis fclose($file); UWAGA: dla przeczytanych tekstów stosuje się funkcję trim obcinającą białe znaki (spacje, zmiany wiersza itp.)

  4. 4. Odczytywanie danych z pliku $file = fopen($plik, "r"); $msg = fread($file, filesize($plik)); - czyta od początku do końca pliku lub $msg = fgets($file, filesize($plik)); //odczyt fclose($file); echo $msg; Można podawać liczbę znaków do odczytania • lub • $msg = file('adres/nazwa_pliku'); • echo $msg[1]; • echo $msg[2]; • itd. (nie trzeba fopen)

  5. Szczegółowo: $linia = fgets(zmienna_plikowa, [długość]) – odczyt linii z otwartego pliku (do znaku \n lub EOF) fputs(zmienna_plikowa, zawartość, [długość]) – zapis do otwartego pliku fseek(zmienna_plikowa, pozycja) – ustawia wskaźnik pliku w punkcie pozycja bajtów ftell(zmienna_plikowa) – informuje na jakiej pozycji (bajt) jest ustawiony wskaźnik rewind(zmienna_plikowa) – ustawia wskaźnik na początku pliku readfile(nazwa_pliku) – otwiera plik, wyświetla plik w oknie przeglądarki i zamyka plik $tabpliku =file(nazwa_pliku) – wpisuje zawartość całego pliku do tablicy, każda linia stanowi osobny element tablicy feof((zmienna_plikowa) - sprawdza osiągnięcie końca pliku, przyjmuje wartość true jeśli został osiągnięty koniec pliku

  6. Dokładniej… $uchwyt= fopen("sciezka/nazwa" ,"r") string fgets ( resource $uchwyt [, int długość]) Zwraca łańcuch o (długości – 1) bajtów odczytany z pliku wskazanego przez uchwyt. Czytanie kończy się kiedy przeczytano (długość – 1) bajtów lub gdy wystąpi znak nowego wiersza (jest on dołączany do zwracanego wyniku) lub gdy wystąpi znak końca pliku EOF (którykolwiek przypadek zdarzy się pierwszy). Jeśli nie została określona długość, domyślnie przyjmuje 1k (1024 bajty).

  7. 6. Kopiowanie plików $stary = "c:/moje dane/plik.php"; $nowy = "nowyplik.php"; copy($stary, $nowy); 7. Zmiana nazwy pliku $stary = "stara nazwa.php"; $nowy = "nowa nazwa.php"; rename($stary, $nowy); 8. Usuwanie plików unlink("nowyplik.php");

  8. Przykłady: $linia=fgets($plik, 4096); Pobiera do zmiennej $linia wiersz o długości nie większej niż 4096 znaków fputs ($plik, "tekst"); Spowoduje zapisanie tekstu „tekst" do otwartego pliku i odpowiednie przesunięcie się wskaźnika zapisu. <?php $plik=fopen (" dane.txt ", "r "); while ( !feof($plik) ) { $linia= fgets($plik, 255); echo $linia; } fclose($plik); ?>

  9. flock(zmienna_plikowa, działanie) - blokowanie pliku wywoływana po otwarciu, ale przed odczytem czy zapisem (pozwala na przeciwdziałanie równoczesnemu dostępowi do plików przez wielu użytkowników) mkdir("ścieżka/katalog"), rmdir("ścieżka/katalog") $kat = opendir("ścieżka/katalog") – otwarcie katalogu do odczytu zawartości $nazwa = readdir($kat) – czytanie nazwy pliku z zawartości katalogu (1 wpis), f. przyjmuje wartośc false jeśli wszystkie wpisy zostaną odczytane. Wpisy nie są uporządkowane. closedir($kat) – zamknięcie katalogu po zakończeniu czytania

  10. Przykład: Wyświetlenie zawartości katalogu w postaci listy <?php $nazwa_kat = 'C:\usr\krasnal\www\htdocs'; $kat = opendir($nazwa_kat); //otwarcie do czytania $lista_plikow = "<ul>"; //pocz listy while ($naz_pliku = readdir($kat)) //war. zakończenia if (($naz_pliku !=".")&&($naz_pliku !="..")) //filtr $lista_plikow .= "<li>$naz_pliku"; //dopisanie $lista_plikow .= "</ul>"; //koniec listy closedir($kat); //zamkniecie ?> <P>Elementy w katalogu: <?php echo "$nazwa_kat"; ?></p> <?php echo $lista_plikow; ?>

  11. Przykład: licznik odwiedzin na stronie <?php if(!file_exists("licznik.txt")) { //jeśli nie istnieje $plicznik=fopen("licznik.txt","w+"); //to jest tworzony fputs($plicznik, "0"); // wpisujemy "0" fclose($plicznik); } $plicznik=fopen("licznik.txt","r+"); //otwarcie "RW" flock($plicznik,2); $liczba=fgets($plicznik,10); //pobranie ilości odwiedzin echo ("<strong>Liczba odwiedzin: $liczba </strong>"); $liczba++; //zwiększenie ilości o 1 fseek($plicznik,"0"); //wskaźnik na początek fputs($plicznik, $liczba); //wpisanie liczby do pliku flock($plicznik,3); fclose($plicznik); ?>

  12. flock(zmienna_plikowa, działanie) - blokowanie pliku wywoływana po otwarciu, ale przed odczytem czy zapisem (pozwala na przeciwdziałanie równoczesnemu dostępowi do plików przez wielu użytkowników) mkdir("ścieżka/katalog"), rmdir("ścieżka/katalog") $kat = opendir("ścieżka/katalog") – otwarcie katalogu do odczytu zawartości $nazwa = readdir($kat) – czytanie nazwy pliku z zawartości katalogu (kolejny wpis), funkcja przyjmuje wartość false jeśli wszystkie wpisy zostaną odczytane. Wpisy nie są uporządkowane. closedir($kat) – zamknięcie katalogu po zakończeniu czytania

  13. setcookie (PHP 3, PHP 4 , PHP 5) setcookie -- Wysyła ciasteczko i zapisuje u klienta Opis setcookie ( string nazwa [, string wartość] [, int data_ważności ]) setcookie() określa ciasteczko (ang. cookie) do wysłania z nagłówkami HTTP. Ciasteczko musi być wysłane zanim jakiekolwiek inne nagłówki zostaną wysłane (to jest ograniczenie ciasteczek, nie PHP). To wymaga umieszczenia wywołań tej funkcji przed znacznikami <html> czy <head>. Wszystkie argumenty poza nazwą są opcjonalne. Jeśli obecny jest tylko argument nazwa, ciasteczko o takiej nazwie zostanie usunięte z klienta. Można też opuścić argumenty za pomocą pustego łańcucha (""). Argument data_ważności jest liczbą całkowitą. Można uzyć liczby zero (0). Argument data_ważności jest regularnym uniksowym znacznikiem czasu, takim jak zwracany przez funkcje time() lub mktime (). Wysłane ciasteczko jest dostępne już przy następnym załadowaniu strony w tablicy $_COOKIE. W PHP do 4.1.0 była to tablica $HTTP_COOKIE_VARS. CIASTECZKA „cookies”

  14. Częste pułapki: Tworzone skryptem ciasteczka nie będą widziane do następnego przeładowania strony dla której mają być widoczne. Ciasteczko może być usunięte tylko z tymi parametrami, z jakimi je ustawiono. Można wielokrotnie wywołać setcookie() - wykonywane są we właściwej kolejności. Przykład 1. setcookie() wysyła przykładowe ciasteczka setcookie ("TestCookie", $value);setcookie ("TestCookie", $value,time()+3600);  /* traci ważność za godzinę */ Aby skasować ciasteczko, należy ustawić datę ważności na datę z przeszłości Przykład 2. Kasowanie ciasteczek// np. ustawić datę ważności na godzinę wsteczsetcookie ("TestCookie", "", time() - 3600); Przykład 3. Sprawdzenie ciasteczkaif (isset($_COOKIE["TestCookie"])) kod1; else kod2;

  15. <?php if (isset($licznik)) $licznik++; else $licznik = 1; setcookie("licznik",$licznik,time()+(3600*24*31)); // ciasteczko będzie utrzymywane na komputerze // oglądającego stronę // przez miesiąc od ostatnich odwiedzin echo ("Odwiedziłeś tę stronę $licznik razy<br>"); echo"<br>"; var_dump($_COOKIE);//informacja o tablicy _COOKIE ?>

  16. LICZNIK odporny na odświeżanie (plik i cookie) <?php if (!file_exists("licznik.txt")) // jeżeli plik licznik.txt nie istnieje {$licznik=fopen("licznik.txt","w"); // tworzymy go } else // w innym wypadku { // otwieramy go i odczytujemy liczbę odwiedzin $licznik=fopen("licznik.txt","r+"); } $numer=fgets($licznik,4096); // pobieramy pierwszą linijkę if ($numer=='') // przy pierwszym uruchomieniu plik będzie pusty $numer=0; // pierwsza wizyta // jeżeli użytkownik nie ma ciasteczka lub odwiedzał stronę przed godziną if (!isset($_COOKIE["CLicznik"])) { rewind ($licznik); // cofamy pozycję zapisu w pliku na początek $numer++; // zwiększamy liczbę odwiedzin o 1 fwrite($licznik,$numer); // zapisujemy liczbę w pliku fclose($licznik);// zamykamy plik // zapisujemy ciasteczko na komputerze użytkownika setcookie("CLicznik","Ustawione ciasteczko",time()+3600); } // wyświetlamy odpowiedni tekst echo "Witam, jesteś ". $numer. "gościem na mojej stronie !!!"; ?> Uwaga: gdzie są ciasteczka (Explorer, Opera – inne przeglądarki) Nie jest istotna wartość ciasteczka

  17. Funkcje czasu time Zwraca aktualny uniksowy znacznik czasu Opis int time ( )Zwraca aktualny czas, podawany jako liczba sekund, które upłynęły od uniksowej Epoki (1 stycznia 1970 00:00:00 GMT).

  18. date Formatuje lokalny czas/datę według zadanego formatu Opis string date ( string format [, int znacznik_czasu])Zwraca datę sformatowaną według szablonu podanego w argumencie format. Żądana data określona jest w argumencie znacznik_czasu, a w przypadku jego braku pobierany jest aktualny czas. Uwaga: Poprawny zakres znacznika czasu to zwykle od piątku, 13 grudnia 1901 20:45:54 GMT (czasu Greenwich) do wtorku, 19 stycznia 2038 03:14:07 GMT. (Wartości te odpowiadają minimalnej i maksymalnej wartości 32-bitowej liczbie całkowitej ze znakiem). W systemie Windows zakres ten jest bardziej ograniczony i zawiera się w przedziale 01-01-1970 do 19-01-2038. Niektóre systemy baz danych mają funkcje konwersji ich formatów daty w uniksowy znacznik czasu (jak np. funkcja UNIX_TIMESTAMP w MySQL-u).

  19. Poniższych znaków używa się w szablonie formatującym datę: d - dzień miesiąca, 2 cyfry z zerem na początku; tzn. od "01" do "31" D - dzień tygodnia, tekst, 3 litery; n.p. "Fri" F - miesiąc, tekst, pełna nazwa; n.p. "January" h - godzina, format 12-godzinny z zerem na początku; tzn. od "01" do "12" //g H - godzina, format 24-godzinny z zerem na początku; tzn. od "00" do "23" //G i - minuty; tzn. od "00" do "59" j - dzień miesiąca bez zera na początku; tzn. od "1" do "31" l (mała litera 'L') - dzień tygodnia, tekst, pełna nazwa; n.p. "Friday" m - miesiąc; tzn. "01" to "12" M – skrót nazwy miesiąca (ang.) n - miesiąc bez zera na początku; tzn. "1" to "12" r - data sformatowana według RFC 822; n.p. "Thu, 21 Oct 2004 12:01:07 +0100" (dodane w PHP 4.0.4) s - sekundy; i.e. "00" to "59" w - dzień tygodnia, liczbowy, tzn. od "0" (Niedziela) do "6" (Sobota) W - numer tygodnia w roku według ISO-8601, tydzień zaczyna się w poniedziałek (dodane w PHP 4.1.0) Y - rok, 4 liczby; n.p. "1999" //y z - dzień roku; tzn. od "0" do "365" Nierozpoznane znaki w szablonie formatującym będą wyświetlone tak jak są.

  20. Przykład 1. przykłady użycia date() echo date ("l dS of F Y h:i:s A"); echo "July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000)); Jeśli nie chcemy, aby któryś z rozpoznawalnych w szablonie znaków został zastąpiony odpowiadającą mu częścią daty, musimy poprzedzić go znakiem odwrotnego ukośnika (backslash). Przykład 2. zastosowania date() /* Dzisiaj jest March 10th, 2001, 5:16:18 pm */ $today = date("F j, Y, g:i a");                // March 10, 2009, 5:16 pm $today = date("m.d.y");                        // 03.10.01 $today = date("j, n, Y");                      // 10, 3, 2009 $today = date("Y-m-d");                          // 2009-03-10 $today = date('h-i-s, j-m-y, it is w Day z ');  // 05-16-17, 10-03-01, 1631 1618 6 Fripm01 $today = date('\i\t \i\s \t\h\e jS \d\a\y.');  // It is the 10th day. $today = date("D M j G:i:s T Y");              // Sat Mar 10 15:16:08 MST 2009 $today = date('H:m:s \m \i\s\ \m\o\n\t\h');    // 17:03:17 m is month $today = date("H:i:s");                        // 17:16:17

  21. mktime mktime oblicza uniksowy znacznik czasu dla podanej daty Znacznik czasu jest liczbą całkowitą długą (long integer) zawierającą liczbę sekund dzielącą uniksową Epokę (1 stycznia 1970) od podanego w argumentach czasu. Opis int mktime ( int godzina, int minuta, int sekunda, int miesiąc, int dzień, int rok [, int letni/zimowy])Uwaga: Proszę zwrócić uwagę na kolejność argumentów !!!, która w dodatku nie jest praktyczna przy opuszczaniu argumentów od prawej do lewej (patrz niżej). Częstym błędem w skryptach są pomyłki w kolejności tych argumentów. Argumenty mogą być opuszczane w kolejności od prawej do lewej. Za każdy pominięty argument będzie wówczas wstawiona aktualna wartość, zgodnie z lokalnym czasem/datą. Argument letni/zimowy może być ustawiony na 1, jeśli to czas zimowy, lub 0 jeśli letni, lub -1 (domyślnie) jeśli niewiadomo, czy letni czy zimowy. Jeśli nie jest to wiadome, PHP spróbuje ustalić samodzielnie.

  22. Funkcja mktime() przydaje się przy wykonywaniu arytmetyki dat i walidacji, gdyż automatycznie policzy właściwą wartość dla danych spoza przedziałów. Na przykład, każda poniższa linia wyświetli "Jan-01-1998". Przykład 1. przykład mktime() <?phpecho date ("M-d-Y", mktime (0,0,0,12,32,1997));echo date ("M-d-Y", mktime (0,0,0,13,1,1997));echo date ("M-d-Y", mktime (0,0,0,1,1,1998));echo date ("M-d-Y", mktime (0,0,0,1,1,98)); ?> rok może być liczbą dwu lub czterocyfrową, przy czym wartości dwucyfrowe z przedziału 0-69 będą mapowane do 2000-2069, a z przedziału 70-99 do 1970-1999 (w systemach, w których time_t jest 32-bitową liczbą całkowitą ze znakiem, co jest obecnie najpopularniejszym rozwiązaniem, poprawny zakres argumentu rok zawiera się pomiędzy 1902 a 2037). Windows: Żadna znana wersja systemu Windows nie obsługuje ujemnych znaczników czasu. Z tego powodu zakres poprawnych dat zawiera się pomiędzy rokiem 1970 a 2038. Ostatni dzień dowolnego miesiąca może być wyrażony jako zerowy dzień następnego miesiąca, ale nie jako -1 dzień. Obydwa poniższe przykłady wyświetlą "Ostatni dzień lutego 2000 to: 29"

  23. Można też używać funkcji strftime Przykład. Ostatni dzień miesiąca <?php $ostatni = mktime (0,0,0,3,0,2010); echo strftime ("Ostatni dzień lutego 2010 to: %d", $ostatni);     $ostatni = mktime (0,0,0,4,-31,2010); echo strftime ("Ostatni dzień lutego 2010 to: %d", $ostatni); ?>

  24. Przykłady zastosowania date() i mktime() $jutro = mktime (0,0,0,date("m")  ,date("d")+1,date("Y")); $poprzedni_miesiac = mktime (0,0,0,date("m")-1,date("d"),  date("Y")); $nastepny_rok    = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1); Notatka: Rozwiązanie to jest bardziej godne zaufania od dodawania lub odejmowania określonej liczby sekund, chociażby z powodu zmiany czasu.

  25. Tablice

  26. Wartości przechowywane w tablicy nazywane są elementami tablicy. Każdy z elementów tablicy posiada indeks (klucz) umożliwiający dostęp do niego. PHP obsługuje tablice indeksowane numerycznie, jak i asocjacyjne. Tablice indeksowane numerycznie stosowane są w większości języków programowania. W PHP indeks numeryczny zaczyna się od wartości "0". Tablice asocjacyjne stosowane w PHP jako wskaźnika używają najczęściej łańcucha znaków. Tablica to zmienna, która przechowuje zbiór lub sekwencję wartości. Tablica może posiadać wiele elementów, a każdy z nich może przechowywać pojedynczą zmienną, taką jak tekst bądź liczby, lub też inną zmienną. Tablice zawierające w sobie inne tablice są nazywane wielowymiarowymi. 0 1 2 indeksy Produkty

  27. Tablice indeksowane numerycznie Tworzenie tablicy: $produkty[0] = "Ksiazki"; $produkty[1] = "Filmy VHS"; $produkty[2] = "Filmy DVD"; Albo konstrukcja array: $produkty = array("Ksiazki","Filmy VHS","Filmy DVD"); $produkty1 = array(1=>"Ksiazki","Filmy VHS","Filmy DVD"); //zmiana indeksu startowego $produkty2 = array(1=>"Ksiazki",3=>"Filmy VHS",5=>"Filmy DVD"); // „tablica rzadka" Dostęp do elementów tablicy: echo $produkty[1]; for ($i = 0; $i<3; $i++) echo $produkty[$i];

  28. Tabliceasocjacyjne Tworzenie tablicy: $ceny = array("Biblia PHP"=>123, "Faraon"=>89, "Atlas świata"=>243); przykład tworzy tablicę w której nazwy produktów są kluczami, a ceny wartościami. $ceny["Pan Tadeusz"] = 149; Dostęp do elementów tablicy: echo $ceny["Pan Tadeusz"]; while ($el = each($ceny)){ echo $el["key"]; echo " - "; echo $el["value"]; echo "<br>";} funkcja each() zwraca bieżący element tablicy i przechodzi do następnego $el jest tablicą o 4 elementach: "key" i 0 – zawierają klucz bieżącego elementu tablicy $ceny "value" i 1 – zawierają wartość bieżącego elementu tablicy $ceny $el

  29. Instrukcjalist() Przypisywanie elementów tablicy do zmiennych Podobnie jak array(), nie jest funkcją, ale elementem składni języka. Instrukcjalist() jest używana do przypisywania listy zmiennych w jednej operacji. Uwaga: list() działa tylko z tablicami o indeksach liczbowych zakładając że indeksy zaczynają się od 0. Przyklad $ceny = array("Biblia PHP"=>123, "Faraon"=>89, "Atlas świata"=>243); list($a,$b,$c,)= each($ceny); echo $a;

  30. Tablice heterogeniczne – wartości przechowywane w tablicy mogą być różnych typów. $mieszana = array("mały piesek", 63, 4.25, false); var_dump($mieszana); var_dump(tablica) wyświetla zawartość i typ zmiennej, dodając odstępy albo print_r (tablica) Tablice wielowymiarowe Elementy tablic mogą przechowywać inne tablice -> w ten sposób można utworzyć tablicę dwuwymiarową traktowaną jak macierz Tak zdefiniowana tablica składa się z trzech wektorów

  31. Tworzenie tablicy dwuwymiarowej: a) indeksowanej numerycznie $prod = array(array ("PHP", "Biblia PHP", 123), array("FAR", "Faraon", 89), array("ASW", "Atlas świata", 243) ); Dostęp do elementów tablicy: echo $prod[0][1]; //itd lub: for( $rzad=0; $rzad<3; $rzad++) { for( $kol=0; $kol<3; $kol++) echo " | ".$prod[$rzad][$kol]; echo "<br>"; }

  32. a) asocjacyjnej $prod = array( array ( "Kod"=>"PHP", "Nazwa"=>"Biblia PHP", "Cena"=>123 ), array( "Kod"=>"FAR", "Nazwa"=>"Faraon", "Cena"=>89 ), array( "Kod"=>"ASW", "Nazwa"=>"Atlas świata", "Cena"=>243) ); Dostęp do elementów tablicy: echo $prod[0]["Nazwa"]; //itd lub: for( $rzad=0; $rzad<3; $rzad++) echo " | ".$prod[$rzad]["Kod"]. " | ".$prod[$rzad]["Nazwa"]. " | ".$prod[$rzad]["Cena"]." |<br>";

  33. Sortowanie tablic Funkcja sort() $produkty = array("Książki","Filmy VHS","Filmy DVD", "filmy DVD", "Plyty CD", Plyty VCD"); for($i=0; $i<6; $i++) echo $produkty[$i]."<br>"; echo "Oto produkty:<br>"; sort($produkty); echo "Oto sortowane produkty:<br>"; for($i=0; $i<5; $i++) echo $produkty[$i]."<br>"; rsort($produkty);//porządek odwrotny! for($i=0; $i<5; $i++) echo $produkty[$i]."<br>"; F. sort() zwraca uwagę na wielkość liter, dlatego wielkie litery zostaną umieszczone przed małymi

  34. Podczas sortowania tablic asocjacyjnych zależy nam często na utrzymaniu razem kluczy i wartości. W takim przypadku należy użyć funkcji asort() lub ksort() $ceny = array("Biblia PHP"=>123, "Faraon"=>89, "Atlas świata"=>243, "Pan Tadeusz"=> 149); asort($ceny); echo "Towary wg. wartosci: <br> "; while ($el = each($ceny)){ echo $el["key"]; echo " - "; echo $el["value"]; echo "<br>"; } ksort($ceny); echo "Towary wg. nazwy: <br> "; while ($el = each($ceny)) echo $el["key"]." - ".$el["value"]."<br>"; Sortowanie odwrotne arsort() i krsort()

  35. Iterowanie przez tablicę Instrukcja foreach() przypisuje wartość elementu zmiennej wskazywanej przez słowo kluczowe as foreach(tablica as wartość) { instrukcje }; $dlugosci = array(260, 194, 123, 67, 10, 0); foreach($dlugosci as $cm) { $cal = $cm / 2.54; echo " $cm centymetrów to $cal cali <br>"; } Wyszukiwanie minimalnej i maksymalnej wartości w tablicy min(tablica), max(tablica) echo "Najmniejsza wartosc:".min($dlugosci)." <br>"; echo "Najwieksza wartosc:".max($dlugosci)." <br>"; Znajdowanie wartości w tablicy in_array(igla, stog_siana) – funkcja zwraca true jeśli wartość igla jest w tablicy stog_siana if (in_array(194, $dlugosci)) echo "Liczba 19 jest w tablicy";

  36. Liczenie elementów tablicy count(tablica) F. count() działa na wszystkich typach zmiennych i zwraca 0 jeśli badana jest zmienna pusta lub nieustawiona (można wykorzystać isset() i is_array()) Do rozdzielania ciągów na tablicę służy funkcja explode(). Jako pierwszy parametr trzeba do niej podać znak lub dłuższy ciąg który oddziela kolejne pola, jako drugi ciąg do rozdzielenia. <?php $dane="alfa;beta;gamma;delta"; $tablica = explode(";", $dane); ?>

  37. Wyszukiwanie minimalnej i maksymalnej wartości w tablicy min(tablica), max(tablica) echo "Najmniejsza wartosc:".min($dlugosci)." <br>"; echo "Najwieksza wartosc:".max($dlugosci)." <br>"; Znajdowanie wartości w tablicy in_array(igla, stog_siana) – funkcja zwraca true jeśli wartość igla jest w tablicy stog_siana if (in_array(194, $dlugosci)) echo "Liczba 194 jest w tablicy";

  38. Przekazywanie tablic do innego pliku metodą GET: serialize (zamiana tablicy na ciąg znaków) unserialize Dodatkowo koniecznestripslashes addslashes <FORM method=get action="przechwyt_tab.php"> <?php $produkty = array("Ksiazki","Potop", 129.00); echo "Po serializacji...".$p2=stripslashes(serialize($produkty)); ?> <INPUT type =hidden value='<?php echo $p2?>' name=p2> <INPUT type =submit value=wyslij> </form> plik wywołany z formularza <?php echo $_GET["p2"]."<BR>"; $p3=unserialize(stripslashes($_GET["p2"])); echo"<BR>"; echo $p3[0];?>

More Related