Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Zmienne i stałe

Zmienne tablicowe

Zmienne tablicowe (popularnie zwane tablicami) to specjalne zbiory zmiennych mające tą samą nazwę jednak inne "indeksy". Schemat tworzenia nazwy i indeksu tablicy:

<?php
$aNazwaTablicy['indeks']
?>

Każdy wpis w tablicy nazywamy "elementem". Tablice tworzymy identycznie jak zmienne, dodając tylko indeks w nawiasie kwadratowym.

<?php
$aTab['imie'] = 'Jan';
$aTab['nazwisko'] = 'Kowalski';
$aTab['ulica'] = 'Długa 5a';
?>

Indeksy mogą być także dodatnimi liczbami całkowitymi:

<?php
$aTab[0] = 'Jan';
$aTab[1] = 'Kowalski';
$aTab[2] = 'Długa 5a';
?>

Powyższe przykłady można skrócić używając funkcji array:

<?php
// ustalamy sami nazwy indeksów
$aTab = array('imie' => 'Jan', 'nazwisko' => 'Kowalski', 'ulica' => 'Długa 5a');
// automatyczne indeksy zaczynające się od 0
$aTab2 = array('Jan', 'Kowalski', 'Długa 5a');
?>

Można także utworzyć pustą tablice i później wypełniać ją wartościami:

<?php
$aTab = array();
// jakieś operacje
$aTab[] = 'wartość'; // indeks przyjmie wartość 0
$aTab[] = 'wartość2'; // indeks przyjmie wartość 1
?>

Występują także tablice wielowymiarowe, oznacza to że elementy tablicy mogą być kolejnymi tablicami:

<?php
$aMen1 = array('nazwisko' => 'Kowalski', 'ulica' => 'Długa 5a');
$aUser['jan'] = $aMen1;
$aMen2 = array('nazwisko' => 'Jakiś', 'ulica' => 'Krótka 23');
$aUser['marek'] = $aMen2;
echo $aUser['jan']['imie']; // wyświetla: Jan
echo $aUser['jan']['nazwisko']; // wyświetla: Kowalski
echo $aUser['marek']['imie']; // wyświetla: Marek
echo $aUser['jan']['nazwisko']; // wyświetla: Jakiś
?>

Powyższy przykład pokazuje użycie tablicy dwuwymiarowej, jednak można tworzyć tablice zagłębione dużo więcej razy (rzadko się je stosuje). Kolejny przykład ilustruje użycie tablicy trójwymiarowej:

<?php
$aAddress1 = array('kraj' => 'Polska', 'miasto' => 'Bielsko-Biała', 'ulica' => '11 Listopada 5');
$aMen1 = array('nazwisko' => 'Kowalski', 'adres' => $aAddress1);
$aUser['jan'] = $aMen1;
$aAddress = array('kraj' => 'USA', 'miasto' => 'New York', 'ulica' => 'Street');
$aMen2 = array('nazwisko' => 'Jakiś', 'adres' => $aAddress);
$aUser['marek'] = $aMen2;
echo $aUser['jan']['nazwisko'];
echo $aUser['jan']['adres']['miasto'];
echo $aUser['marek']['nazwisko'];
echo $aUser['jan']['adres']['kraj'];
?>

Ważne jest także, że zmienne zawierające dane typu string (ciągi znaków) są tablicami indeksowanymi liczbami. Ilustruje to poniższy przykład:

<?php
$sText = 'abcd';
echo $sText[0].'<br />';
echo $sText[1].'<br />';
echo $sText[2].'<br />';
echo $sText[3].'<br />';
?>

Więcej o tablicach znajdziesz w manualu.

Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (8)
fajnie, ale są błędy
Niedziela 08 Kwiecień 2012 3:44:07 pm - Listonoszek

początkujący, który wszystko przyjmuje na wiarę mogłby to kupić. Mowa o przykładzie numer 6 ze zmiennych tablicowych.

1. Brakuje indeksów "imie" w tabelach
2. Żeby otrzymać wynik "Jakiś" należy się odwołać do indeksu "marek" w przedostatniej linijce.

Całość powinna wyglądać tak:

<?php
$aMen1 = array('imie' => 'Janek', 'nazwisko' => 'Kowalski', 'ulica' => 'Długa 5a');
$aUser['jan'] = $aMen1;
$aMen2 = array('imie' => 'Marek', 'nazwisko' => 'Jakiś', 'ulica' => 'Krótka 23');
$aUser['marek'] = $aMen2;

echo $aUser['jan']['imie']; // wyświetla: Jan
echo $aUser['jan']['nazwisko']; // wyświetla: Kowalski

echo $aUser['marek']['imie']; // wyświetla: Marek
echo $aUser['marek']['nazwisko']; // wyświetla: Jakiś
?>

-52
Sobota 19 Maj 2007 10:10:25 am - Sokal <dominiksokal_at_gmail.com>

Od kiedy liczba -52 to liczba naturalna? :D

błedy w źrodle ??
Środa 21 Luty 2007 1:02:17 pm - slawek_master

w części "Zasięg zmiennych" w 2 źródle chyba jest błąd w zmiennych chyba ze to jakieś czary :)

Błędy
Sobota 30 Wrzesień 2006 8:55:04 am - rocek <bartek_rocek_at_tlen.pl>

Nieocenione informacje. Dzięki. Ale może pokusiłby się ktoś o sprawdzenie błędów ortograficznych.
Pozdrawiam,
Początkujący programista RoceK

Fajnie wszystko ale...
Piątek 07 Lipiec 2006 11:20:14 am - masare

Wszystko fajnei ale tyle to każdy początkujacy praktycznie wie , może by tak autor rozszerzył ten artykuł? tym bardziej że ciekawie napisane , co przechowujemy w zmiennych , jak to odczytać? wygląda jak niedokończony urywek z jakiejś książki.

hmm
Niedziela 15 Styczeń 2006 11:47:54 am - shima <shima_at_wp.pl>

Nie chciałbym zniechęcać autora do pracy nad PHP i do pomagania innym, ale ten artykuł jest zupełnie bezużyteczny. Każdy, kto chce napisać nawet prosty skrypt w PHP musi przeczytać choćby opis języka (np. z php.net), więc przepisywanie małego fragmentu dokumentacji tutaj mija się z celem.
Pozdrawiam

Interesujący artykuł
Sobota 14 Styczeń 2006 4:21:38 pm - memp <nowak_at_desk.pl>

Ciekawy i bardzo ładny artykuł dla początkujących napewno bedzie bardzo przydatny

bool
Czwartek 12 Styczeń 2006 6:55:30 pm - sopel

dobry artykuł dla początkujących, chociaż wydyje mi się, że powinno się rozwinąć wątek z rzutowaniem i konwersją typów, a konkretnie o więcej szczegółów i przykłądów dotcyczących BOOL, poniewaz niewlasciwe stosowanie i niepelne zrozumienie tego typu czesto bywa przyczyna wielu bledow i nieporozumien.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2017 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System