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 robią tablice: Tablica przechowuje wiele powiązanych ze sobą wartości w jednej zmiennej, do których dostęp uzyskuje się za pomocą kluczy numerycznych lub nazwanych, a nie za pomocą wielu oddzielnych zmiennych.
  • 🔢 Tablice numeryczne: Tablice numeryczne wykorzystują klucze indeksów całkowitych zaczynające się od zera w celu odczytania lub przypisania każdego przechowywanego elementu.
  • 🏷️ Tablice asocjacyjne: Tablice asocjacyjne wykorzystują opisowe klucze łańcuchowe, co jest idealne do parowania nazw z wartościami lub mapąping pola bazy danych.
  • 🧬 Wielowymiarowy: Tablica wielowymiarowa zagnieżdża tablice wewnątrz tablicy, grupyping dane strukturalne, takie jak filmy zorganizowane według kategorii.
  • ⚖️. Szyk Operatory: Operator union łączy tablice, == sprawdza równość wartości, a === sprawdza dodatkowo kolejność kluczy i typy danych.
  • 🔧 Funkcje tablicowe: count, is_array, sort, ksort i asort raportują i zmieniają kolejność zawartości tablicy według wartości lub klucza.
  • 🤖 Asystent AI: Narzędzia sztucznej inteligencji potrafią zamienić wiersze bazy danych w tablice asocjacyjne i pomóc w debugowaniu mylących struktur tablic wielowymiarowych.

Tablice PHP

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,

Tablica PHP

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,

Tablica PHP

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,

Tablica PHP

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.

FAQ

Pętla foreach to najpopularniejsza metoda. Napisz foreach($array as $value), aby odczytać każdą wartość, lub foreach($array as $key => $value), aby odczytać zarówno klucz, jak i wartość każdego elementu w tablicy.

sort() zmienia kolejność wartości i indeksuje tablicę, używając nowych kluczy numerycznych, tracąc przy tym oryginalne klucze. asort() sortuje według wartości, ale zachowuje powiązanie każdej wartości z jej oryginalnym kluczem, co ma znaczenie w przypadku tablic asocjacyjnych.

Użyj array_push() lub $arr[] = value, aby dodać, oraz array_pop() lub array_shift(), aby usunąć element z końca lub początku. Aby usunąć konkretny element według klucza, użyj funkcji unset().

Tak. Sztuczna inteligencja może napisać pętlę pobierania, która mapuje każdy wiersz na tablicę asocjacyjną z kluczem opartym na nazwie kolumny, i zasugerować użycie metod pobierania, które zwracają tablice asocjacyjne bezpośrednio ze sterownika bazy danych.

Tak. Wklej dane wyjściowe print_r lub var_dump, a AI wyjaśni zagnieżdżenie, pokaże dokładną ścieżkę do wartości, takiej jak $film['comedy'][0], i znajdzie niedopasowane klucze lub poziomy.

Podsumuj ten post następująco: