Tablica PHP: asocjacyjna, wielowymiarowa
โก Inteligentne podsumowanie
Tablice PHP przechowujฤ wiele powiฤ zanych wartoลci w jednej zmiennej, co uลatwia grupowanie i przetwarzanie powiฤ zanych danych. Ten przewodnik obejmuje tablice numeryczne, asocjacyjne i wielowymiarowe, operatory porรณwnywania tablic oraz podstawowe funkcje, takie jak count, sort, ksort i asort.

Co to jest tablica PHP?
Tablica PHP to zmienna przechowujฤ ca wiฤcej niลผ jeden fragment powiฤ zanych danych w jednej zmiennej.
Wyobraลบ sobie tablicฤ jako pudeลko czekoladek z przegrรณdkami w ลrodku.
Pole reprezentuje samฤ tablicฤ, natomiast przestrzenie zawierajฤ ce czekoladki reprezentujฤ wartoลci przechowywane w tablicy.
Poniลผsze przykลady ilustrujฤ jak to dziaลa.
Tablice numeryczne
Tablice numeryczne wykorzystujฤ liczby jako klucze dostฤpu.
Klucz dostฤpu jest odniesieniem do gniazda pamiฤci w zmiennej tablicowej.
Klucz dostฤpu jest uลผywany zawsze wtedy, gdy chcemy odczytaฤ element tablicy lub przypisaฤ mu nowฤ wartoลฤ.
Poniลผej przedstawiono skลadniฤ tworzenia tablicy liczbowej w PHP.
Przykลad tablicy
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
TUTAJ,
- โ$nazwa_zmiennejโฆโ to nazwa zmiennej
- โ[n]โ to numer indeksu dostฤpu elementu
- โwartoลฤโ to wartoลฤ przypisana do elementu tablicy.
Przyjrzyjmy siฤ teraz przykลadowi tablicy liczbowej.
Zaลรณลผmy, ลผe mamy 5 filmรณw, ktรณre chcemy przechowywaฤ w zmiennych tablicowych.
Moลผemy w tym celu posลuลผyฤ siฤ przykลadem pokazanym poniลผej.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Tutaj,
Kaลผdemu filmowi przypisany jest numer indeksu, ktรณry sลuลผy do pobierania lub modyfikowania jego wartoลci. Przyjrzyj siฤ poniลผszemu kodowi.
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Wyjลcie:
Once upon a time in China Eastern Condors
Jak widaฤ z powyลผszych przykลadรณw, praca z tablicami w PHP, gdy mamy do czynienia z wieloma wartoลciami tego samego rodzaju, jest bardzo ลatwa i elastyczna.
Alternatywnie powyลผsze zmienne tablicowe moลผna rรณwnieลผ utworzyฤ przy uลผyciu nastฤpujฤ cego kodu.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
Wyjลcie:
Replacement Killers
Tablica asocjacyjna PHP
Tablice asocjacyjne rรณลผniฤ siฤ od tablic numerycznych tym, ลผe uลผywajฤ opisowych nazw dla kluczy identyfikacyjnych.
Poniลผej przedstawiono skลadniฤ tworzenia tablicy asocjacyjnej w PHP.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
TUTAJ,
- โ$nazwa_zmiennejโฆโ to nazwa zmiennej
- โ['key_name']โ to klucz dostฤpu do elementu
- โwartoลฤโ to wartoลฤ przypisana do elementu tablicy.
Zaลรณลผmy, ลผe mamy grupฤ osรณb i chcemy przypisaฤ kaลผdej osobie pลeฤ na podstawie jej imion.
Moลผemy do tego uลผyฤ tablicy asocjacyjnej. Poniลผszy kod nam w tym pomoลผe.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
TUTAJ,
Wyjลcie:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Tablice asocjacyjne sฤ rรณwnieลผ bardzo przydatne przy pobieraniu danych z bazy danych.
Nazwy pรณl sฤ uลผywane jako klucze identyfikacyjne.
PHP Tablice wielowymiarowe
Sฤ to tablice zawierajฤ ce inne tablice zagnieลผdลผone.
Zaletฤ tablic wielowymiarowych jest to, ลผe pozwalajฤ nam grupowaฤ powiฤ zane dane.
Przyjrzyjmy siฤ teraz praktycznemu przykลadowi implementacji wielowymiarowej tablicy PHP.
Poniลผsza tabela przedstawia listฤ filmรณw wedลug kategorii.
| Tytuล filmu | Kategoria |
|---|---|
| Rรณลผowa Pantera | Komedia |
| Jana Anglika | Komedia |
| Szklana puลapka | Dziaลania |
| Expendables | Dziaลania |
| Wลadca Pierลcieni | Epicki |
| Romeo i Julia | Romans |
| Nie widzieฤ zลa, nie sลyszeฤ zลa | Komedia |
Powyลผsze informacje moลผna przedstawiฤ w postaci tablicy wielowymiarowej. Poniลผszy kod przedstawia implementacjฤ.
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
TUTAJ,
Wyjลcie:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Inny sposรณb zdefiniowania tej samej tablicy jest nastฤpujฤ cy.
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Wyjลcie:
Pink Panther
Uwaga: tablica numeryczna filmรณw zostaลa zagnieลผdลผona wewnฤ trz tablicy asocjacyjnej kategorii.
Tablice PHP: Operatorsy
| OperaTor | Imiฤ i nazwisko | OPIS | Jak to zrobiฤ | Wydajnoลฤ |
|---|---|---|---|---|
| x+y | Unia | ลฤ czy elementy z obu tablic |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Tablica([id] => 1 [wartoลฤ] => 10) |
| x == y | Rรณwny | Porรณwnuje dwie tablice i zwraca wartoลฤ true, jeลli sฤ rรณwne |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Prawda lub 1 |
| x === y | Identyczny | Porรณwnuje wartoลci i typy danych |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Faลsz lub 0 |
| x != y, x <> y | Nie rรณwne | Zwraca wartoลฤ true, jeลli dwie tablice nie sฤ rรณwne |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Faลsz lub 0 |
| x !== y | Nieidentyczne | Zwraca wartoลฤ true, jeลli dwie tablice nie sฤ identyczne pod wzglฤdem wartoลci lub typu |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Prawda lub 1 |
Funkcje tablicy PHP
Funkcja zliczania
Funkcja count sลuลผy do zliczania liczby elementรณw tablicy PHP. Poniลผszy kod przedstawia implementacjฤ.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Wyjลcie:
3
funkcja is_array
Funkcja is_array sลuลผy do okreลlenia, czy zmienna jest tablicฤ , czy nie. Przyjrzyjmy siฤ teraz przykลadowi implementujฤ cemu funkcjฤ is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Wyjลcie:
1
Sortuj
Funkcja ta sลuลผy do sortowania tablic wedลug ich wartoลci.
Jeลli wartoลci sฤ alfanumeryczne, sortuje je w kolejnoลci alfabetycznej.
Jeลli wartoลci sฤ numeryczne, sortuje je w kolejnoลci rosnฤ cej.
Usuwa istniejฤ ce klucze dostฤpu i dodaje nowe klucze numeryczne.
Wynikiem tej funkcji jest tablica liczbowa.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Wyjลcie:
Array ( [0] => Female [1] => Female [2] => Male )
sortuj
Ta funkcja sลuลผy do sortowania tablicy za pomocฤ klucza. Poniลผszy przykลad ilustruje jej uลผycie.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Wyjลcie:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
rodzaj
Ten funkcjonowaฤ sลuลผy do sortowania tablicy za pomocฤ wartoลci podczas gdy keeping klucze. Poniลผszy przykลad ilustruje ich uลผycie.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Wyjลcie:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Po co uลผywaฤ tablic?
- Zawartoลฤ tablic moลผna rozciฤ gnฤ ฤ, aby pomieลciฤ wiฤcej wartoลci.
- Tablice uลatwiajฤ grupowanie powiฤ zanych informacji, takich jak dane logowania do serwera.
- Tablice pomagajฤ pisaฤ czystszy kod.



