Tablica PHP: asocjacyjna, wielowymiarowa
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 tablicach.
Poniższy diagram ilustruje powyższą składnię.
Tablice numeryczne
Tablice numeryczne używają liczb jako kluczy dostępu.
Klucz dostępu jest odniesieniem do gniazda pamięci w zmiennej tablicowej.
Klawisz dostępu stosujemy zawsze, gdy chcemy odczytać lub przypisać nową wartość elementowi tablicy.
Poniżej znajduje się składnia tworzenia tablicy numerycznej 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.
Spójrzmy teraz na przykład tablicy numerycznej.
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 przydzielany jest numer indeksu, który służy do pobierania lub modyfikowania jego wartości. Obserwuj następujący kod-
<?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
Tablica asocjacyjna różni się od tablicy numerycznej w tym sensie, że tablice asocjacyjne używają opisowych nazw kluczy identyfikacyjnych.
Poniżej znajduje się składnia tworzenia tablicy asocjacyjnej w php.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
TUTAJ,
- „$nazwa_zmiennej…” to nazwa zmiennej
- „['nazwa_klucza']” to numer indeksu dostępu elementu
- „wartość” to wartość przypisana do elementu tablicy.
Załóżmy, że mamy grupę osób i chcemy przypisać płeć każdej osoby na podstawie jej imienia.
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 implementującemu wielowymiarową tablicę 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 w tablicy asocjacyjnej kategorii
Tablice PHP: Operatorsy
OperaTor | Imię | 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, jeśli są równe i zwraca wartość true, jeśli tak. |
<?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 |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Fałsz lub 0 | |
X !== y | Nieidentyczne |
<?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 elementów znajdujących się 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 funkcje is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Wyjście:
1
Sortuj
Ta funkcja służy do sortowania tablic według 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 numeryczna
<?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
To zdjęcie funkcjonować służy do sortowania tablicy za pomocą wartości. Poniższy przykład ilustruje jego 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ągać,
- Tablice ułatwiają grupowanie powiązanych informacji, takich jak dane logowania do serwera
- Tablice pomagają pisać czystszy kod.
Podsumowanie
- Tablice to specjalne zmienne, które mogą przechowywać wiele wartości.
- Tablice są elastyczne i można je łatwo rozciągnąć, aby pomieścić więcej wartości
- Tablice numeryczne wykorzystują liczby jako klucze tablicowe
- Tablica asocjacyjna PHP używa opisowych nazw kluczy tablicy
- Tablice wielowymiarowe zawierają w sobie inne tablice.
- Funkcja count służy do uzyskania liczby elementów przechowywanych w tablicy
- Funkcja is_array służy do określenia, czy zmienna jest prawidłową tablicą, czy nie.
- Inne funkcje tablicowe obejmują sortowanie, ksort, sortowanie itp.