Praneškite apie mus:


PHP masyvai

0

Masyvai yra skirti saugoti keletą reikšmių viename kintamajame. Jei žinote iš matematikos, kas yra matricos, tai čia labai panašus dalykas. Realiai - kintamųjų lentelė. Gali būti vienmačiai ir daugiamačiai masyvai.

Paprastas kintamasis savyje saugo vieną reikšmę, tuo tarpu masyvas yra toks kintamojo tipas, kurio viduje galime saugoti keletą reikšmių.



Turinys

Kada masyvai yra patogiau už paprastus kintamuosius?

PHP masyvų tipai

PHP numeruoti masyvai

PHP asociatyvinis masyvas

PHP Kelių dimensijų masyvai

Kada masyvai yra patogiau už paprastus kintamuosius?

Jeigu turime daiktų sąrašą, jį saugoti keliuose kintamuosiuose gali būti gana nepatogu:

1
2
3
$pirma_masina = "BMW";
 
$antra_masina = "Audi";

Ir tarkime turime tokių mašinų ne 2, o kelis šimtus ar tūkstančius ir mums reikia jas visas surikiuoti pagal kokį nors kriterijų, arba vieną panaikinti ir perslinkti sąrašą taip, kad neliktų tuščių tarpų. Geriausia visokius tokius dalykus daryti su masyvais (angliškai: array).

Kiekvienas elementas, kuris yra masyve turi unikalų indeksą, per kurį lengvai galime pasiekti bet kurį masyvo elementą.

PHP masyvų tipai

PHP kalboje turime trijų rūšių masyvus:

  1. Numeruotą masyvą – masyvą su skaičiais vietoje indeksų
  2. Asociatyvinį masyvą – masyvą, kuriame vietoje skaičių indeksuose turime žodžius
  3. Kelių dimensijų masyvą – masyvą, kuris savyje turi kitus masyvus

PHP numeruoti masyvai (angliškai.: numeric array)

Numeruotame masyve kiekvienas elementas yra saugomas pagal numeruotą indeksą. Pirmas elementas turi indeksą 0, antras 1 ir taip toliau.

PHP kalboje masyvui sukurti yra keletas metodų.

Pirmas masyvo sukurimo metodas


1
$masinos = array("BMW","Audi");

Antras masyvo sukurimo metodas


1
2
3
$masinos[0] = "BMW";
 
$masinos[1] = "Audi";

Nesvarbu kurį metodą panaudosime – gausime lygiai tą patį rezultatą – masyvą su dvejais elementais. Vėliau masyvo elementus galime keisti, atspausdinti.

1
echo "Aš turiu ".$masinos[0]. " automobilį.";

Naršyklėje matysime „Aš turiu BMW automobilį.“

PHP Asociatyvinis masyvas

Tokiame masyve kiekvienas ID yra susiejamas su žodžiu. Pavyzdžiui norime turėti masyvą, kuriame saugotume žmonių vardus ir duomenis apie juos. Pradžiai užteks jų metų:

1
$metai = array("Gerda"=>20, "Lukas"=>22, "Saulius"=>44);

Lygiai tą patį galime padaryti ir antruoju metodu:

1
2
3
$metai ['Gerda'] = "20";
$metai ['Lukas'] = "22";
$metai ['Saulius'] = "44";

Vėliau, galime atspausdinti reikšmes pasinaudojant vardu:

1
2
3
4
5
6
7
<?php
$metai ['Gerda'] = "20";
$metai ['Lukas'] = "22";
$metai ['Saulius'] = "44";
 
echo "Gerdai yra " . $metai['Gerda'] . " metų.";
?>

Naršyklėje matysime:

Gerdai yra 20 metų.

PHP kelių dimensijų masyvai

Kelių dimensijų masyvuose yra saugomi masyvai masyvuose. Tai reiškia, kad masyvo elementai gali saugoti ne tik vieną reikšmę, bet ištisus masyvus reikšmių. Tie vidiniai masyvai gali turėti kitus masyvus ir tokiu būdu gaunasi kelių dimensijų masyvai.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
$zmones = array (
 
  "Lukas"=>array (
 
    "metai" => 22,
 
    "gyvenamoji_vieta" => "Kaunas"
 
  ),
 
  "Gerda"=>array (
 
    "metai" => 22,
 
    "gyvenamoji_vieta" => "Kaunas"
 
  )
 
);
 
?>

Jei norime šio masyvo elementus panaudoti tekste, naudojame tokį kodą:

1
2
3
print "Čia gyvena Lukas. Jam yra ". $zmones["Lukas"]["metai"]." metai. 
       Jo gyvenamoji vieta yra ".$zmones["Lukas"]["gyvenamoji_vieta"];
 

Naršyklėje matysime:

Čia gyvena Lukas. Jam yra 22 metai. Jo gyvenamoji vieta yra Kaunas.

Viso šio masyvo struktūra atrodo taip:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Array (
 
  [Lukas] => Array (
 
    [metai] => 22
 
    [gyvenamoji_vieta] => Kaunas
 
  ) 
 
  [Gerda] => Array (
 
    [metai] => 22
 
    [gyvenamoji_vieta] => Kaunas
 
  )
 
)

Perskaityta: 2278 kartų

Lukas
Autorius: Lukas
El. paštas.: Šis el. pašto adresas yra apsaugotas nuo spam botų. Jum reikalingas įjungtas Javasctipt kad jį matytumėte
Manualai.lt tinklo autorius ir administratorius. VDU Energetikos Fizikos ir Verslo Informatikos studentas. LinkedIn
Raktažodžiai
ciklai    masyvai    php    programavimas    arrays   
Patinka straipsnis?
dalintis Facebook
dalintis MySpace
dalintis Twitter
Digg it
Komentarai

Komentarų nėra. Norėdami komentuoti turite prisijungti
PHP meniu
Naudingos nuorodos
Informacija ir viskas kas yra pateikta manualai.lt puslapiuose yra nemokama, tačiau, galite mus paremti per PayPal: