Notatki PHP

prywatne zapiski na kamieniu

Składnia "index => wartości", oddzielona przecinkami, definiuje pary indeksów i wartości. Indeks może być stringiem lub liczbą. Jeśli indeks zostanie pominięty, automatycznie wygenerowany zostanie indeks będący liczbą całkowitą, poczynając od 0. Jeśli indeks jest liczbą całkowitą, następny wygenerowany indeks będzie miał wartość "największy indeks + 1". Zauważ, że jeśli pojawią się dwie wartości o tym samym indeksie, ostatnia nadpisze wcześniejsze.

 
$owoce = array (
   "owoce"  => array ("a"="pomarańcza", "b"="banan", "c"="jabłko"),
   "liczby" => array (1, 2, 3, 4, 5, 6),
   "dziury" => array ("pierwszy", 5 ="drugi", "trzeci")
);
 
$array = array( 1, 1, 1, 1,  1, 8=>1,  4=>1, 19, 3=>13);
print_r($array);
 
Array 
(
    [0] => 1
    [1] => 1
    [2] => 1
    [3] => 13
    [4] => 1
    [8] => 1
    [9] => 19
)

Indeks '3' jest zdefiniowany dwa razy i przechowuje on końcową wartość 13. Indeks 4 jest zdefiniowany po indeksie 8, a następnym wygenerowanym indeksem (dla wartości 19) jest 9, ponieważ największym poprzednim indeksem było 8.

 

 
$pierwszy_kwartal  = array(1 => 'Styczeń', 'Luty', 'Marzec');
print_r($pierwszy_kwartal);
 
Array 
(
    [1] => 'Styczeń'
    [2] => 'Luty'
    [3] => 'Marzec'
)

 

 

Mamy tablicę:

 
<?php
$tablica= array(
'osoba1'=> array('imie'=>'Robert','aka'=>'Docent','wiek'=>55),
'osoba2'=> array('imie'=>'Andrzej','aka'=>'Kowal','wiek'=>72),
'osoba2'=> array('imie'=>'Remigiusz','aka'=>'Shogun','wiek'=>50)
);
?>
 
<?php
print_r($tablica);
?>

Wyświetli roboczo:

 
Array ( [osoba1] => Array ( [imie] => Robert [aka] => Docent [wiek] => 55 ) 
[osoba2] => Array ( [imie] => Andrzej [aka] => Kowal [wiek] => 72 ) 
[osoba3] => Array ( [imie] => Remigiusz [aka] => Shogun [wiek] => 50 ) )

Znaczniki html "<pre>" które nam ładnie ten kod poukładają:

 
<?php
echo "<pre>";
print_r($tablica);
echo "</pre>";
?>
 
Array
(
    [osoba1] => Array
        (
            [imie] => Robert
            [aka] => Docent
            [wiek] => 55
        )
 
    [osoba2] => Array
        (
            [imie] => Andrzej
            [aka] => Kowal
            [wiek] => 72
        )
 
    [osoba3] => Array
        (
            [imie] => Remigiusz
            [aka] => Shogun
            [wiek] => 50
        )
 
)

 

Dostęp do tablicy

Dostęp do tablicy mamy poprzez zmienną do której przypisana jest tablica, możemy odwołać się bezpośrednio do całej tablicy, jej części lub konkretnego pola.

Odwołajmy się do części tablicy:

 
<?php
echo "<pre>";
print_r($tablica['osoba2']);
echo "</pre>";
?>
 
Array
(
    [imie] => Andrzej
    [aka] => Kowal
    [wiek] => 72
)

Odwołajmy się do konkretnego pola tablicy:

 
<?php
echo "<pre>";
print_r($tablica['osoba2']['imie']);
echo "</pre>";
?>

Działanie to wyświetli nam napis Andrzej

Gdy chcemy zmienić to:

 
<?php
$tablica['osoba2']['imie']="Maria";
?>

 

Przeglądanie tablicy

Dostęp do tablicy możemy zrealizować poprzez funkcją foreach(tablica) która wykona się dla każdego elementu tablicy (1 poziom).

 
<?php
foreach($tablica['osoba2'] as $klucz => $wartosc)
{
echo $klucz .' : '.$wartosc.' <br/>';
}
?>

Co da następujący rezultat:

 
imie : Andrzej
aka : Kowal
wiek : 72 

 

Dla zabawy zamiana liter tablicy na wielkie:

 
<?php
foreach($tablica['osoba2'] as $klucz => $wartosc)
{
	$tablica['osoba2'][$klucz]=strtoupper($wartosc);
}
echo "pre>";
print_r($tablica['osoba2']);
echo "</pre>";
?>
 
Array
(
    [imie] => Andrzej
    [aka] => Kowal
    [wiek] => 72
)