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: