PHP-Fusion Mods
Navigacija
Apsauga
Apsauga Neleista registracija: 28599
Šiandien: 11
Prisijungę nariai
» Svečių: 10
» Narių: 0

» Viso narių: 10,232
» Naujausias: EdvinasG1337

Prisijungimų istorija:
EdvinasG1337senokai
tabuxnepamenu
rolandas94nepamenu
Zbigniew@nepamenu
Edis2nepamenu
klubogerbejasnepamenu
Miskinisnepamenu
mast3rnepamenu
N1nt3ndnepamenu
Matze1987nepamenu
Piter_NSnepamenu
MariukasRnepamenu
Pask. modai
Prisijungti
Vardas

Slaptažodis



Dar ne narys?
Registruotis.

Pamiršai slaptažodį?
Prašyk naujo!.

Naujausi prašymai
[L] testas
Narių apklausa
Ar dar kuriate tinklalapius?

Ne
Ne
0% [0 Balsai]

Taip
Taip
88% [7 Balsai]

Naudojuosi socialiniais tinklais
Naudojuosi socialiniais tinklais
13% [1 Balsas]

Balsai: 8
Kad galėtum balsuoti, turi prisijungti.
Pradėta: 2022-05-29 19:54
Shoutbox
You must login to post a message.

2024-03-07 22:13
Oj Tabux… apkabinčiau už tą moderatorių 😁

2024-02-22 17:40
Šypsosi2 jo buvo laikai.. Senukai jau mes. Bega laikas greiciau nei noretusi. Smagu matyti kad uzsuka seni nariai, ne as vienas Šypsosi

2024-02-20 22:18
Zodziu.. Nostalgija. Sorry Tabux uz spam’a, netelpa viskas i viena shout’a. 😁

2024-02-20 22:14
Aisku dabar tokie laikai, kai turinio valdymo sistemas valdome one-click principu. Ne kaip seniau kode ieskodavom klaidu, norint moda pasileist.. :D paciam reikdavo susidiegt viska i ftp..

2024-02-20 22:03
Sveiki kolegos 👌 kazkada rasiau greit 11 metu bet ziuriu greit 14 metu. 😄 baisuu, reik ta proga kazka sugalvot su php-f kaip jaunima itraukt.

Shoutbox Archive
PHP kalbos Masyvai
Sveiki!
Pabandysiu jus apšviesti kas yra masyvas ir jo elementai bei kaip tai veikia.

Tai va, pirmiausia masyvais vadinamos duomenų grupės, kurių reikšmės nurodomos kintamaisiais su indeksais. Masyvo vardas žymi visų jame saugomų duomenų grupę, o indeksas nurodo konkrečios reikšmės (elemento) vietą šioje grupėje:


Masyvo vardas[Indeksas]


Indeksai gali būti sveikieji skaičiai arba masyvo elementų žymėjimui parinktos simbolių eilutės (vardai). Pirmuoju atveju pirmojo masyvo elemento indeksas yra 0. Masyvai sukuriami apibrėžiant programos tekste jų elementų reikšmes, pavyzdžiui:


PHP
  1. <?php
  2. $asmuo[0] = "Jonas";
  3. $asmuo[1] = "Ona";
  4. $asmuo[2] = "Vilma";
  5. $pareigos['Jonas'] = "Direktorius";
  6. $pareigos['Ona'] = "Administratorė";
  7. $pareigos['Ona'] = "Sekretorė";
  8.  
  9. ?>


Naudojant konstruktorių array, galima iš karto apibrėžti visų masyve saugomų reikšmių rinkinį:


PHP
  1. <?php
  2. $asmuo = array("Jonas","Ona","Vilma"); //Masyvas su skaitiniais indeksais
  3. $pareigos('Jonas'=> "Direktorius", 'Ona'=> " Administratorė",  'Vilma'=> "Sekretorė"); //Masyvas su vardiniais indeksais
  4.  
  5. ?>


Masyvus su sveikųjų skaičių ir lotyniškų raidžių alfabeto atkarpomis sukuria funkcija range:


PHP
  1. <?php
  2. $sk = range(2,5); //Sukuriamas masyvas su skaičiais (2,3,4,5)
  3. $raid = range('a','z'); //Sukuriamas mažųjų lotyniškų raidžių masyvas
  4. $revers = range(5,2); //Sukuriamas masyvas su skaičiais (5,4,3,2)
  5. ?>



Niaujant funkciją explode, galima suformuoti masyvą iš simbolių eilutėje įrašytų žodžių arba teksto fragmentų. Šios funkcijos pirmasis argumentas turi nurodyti eilutėje naudojamą skirtuko simbolį, o antrasis - eilutę su masyvui perduodamų fragmentų rinkiniu, pavyzdžiui:


PHP
  1. <?php
  2. $tekstas = "Jonas, Ona, Vilma";
  3. $masyvas = explode (',', $tekstas); //Rezultato masyvas: ("Jonas", "Ona", "Vilma")
  4.  
  5. ?>


Vietoj funkcijos explode galima naudoti jai analogišką funkciją split. Atvirkščių veiksmų (simbolių eilutės formatavimą iš masyvo elementų) aprašo funkcijos imlode ir join, kurios yra identiškos, atlieka tuos pačius veiksmus. Funkcijos join taikymo pavyzdys:


PHP
  1. <?php
  2. $masyvas = ("Jonas","Ona","Vilma");
  3. $tekstas = join (",",$masyvas); //Rezultato eilutė: "Jonas,Ona,Vilma"
  4. ?>



Apdorojant masyvuose saugomus duomenis, naudojami visų jų elementų perrinkimo ciklai. Kai indeksai yra skaičiai, tai galima padaryti su ciklu for, pavyzdžiui:


PHP
  1. <?php
  2. $asmuo = array("Jonas","Ona","Vilma"); //Masyvo sukūrimas
  3. echo "Masyvo duomenys:";
  4. for ($sk= 1; $sk<=sizeof($sk);$sk++) //Masyvo perrinkimo ciklas
  5. echo "$sk : $asmuo[$sk]"; //Elemento perdavimas naršyklei
  6.  
  7. ?>


Šiame pavyzdyje naudojama funkcija sizeof skaičiuoja jos argumento nurodomo masyvo elementų skaičių. Patogiau masyvų perrinkimui, naudojama tokia atmaina:


PHP
  1. <?php
  2. foreach (Masyvo vardas as Elementas) {
  3. Kartojami veiksmai ;
  4. }
  5.  
  6. ?>


Ciklas kartojamas tiek kartų, kiek masyve yra elementų, ir kiekviena pakartojimo metu kintamajam Elementas suteikiama vis kito masyvo elemento reikšmė, pavyzdžiui:


PHP
  1. <?php
  2. $asmuo = array ("Jonas,"Ona",Vilma"); //Masyvo sukūrimas
  3. foreach ($asmuo as $vardas) { //Masyvo perrinkimo ciklas
  4. echo "vardas $vardas"; //Vardų perdavimas naršyklei
  5. }
  6.  
  7. ?>


Masyvų su vardiniais indeksais parinkimui naudojamo ciklo foreach atmainos aprašymo sintaksė tokia:


PHP
  1. <?php
  2. foreach (Masyvas as Elementas =>Vardas) {
  3. Kartojami veiksmai;
  4. }
  5.  
  6. ?>


Šios ciklo atmainos panaudojimo pavyzdys:


PHP
  1. <?php
  2. $pareigos('Jonas'=> "Direktorius", 'Ona' => "Administratorė", 'Vilma'=> "Sekretorė");
  3. foreach ($pareigos as $pavadinimas => $vardas) {
  4. echo "Asmens $vardas pareigos yra $pavadinimas.";
  5. }
  6.  
  7. ?>


Viso masyvo duomenis iš karto į naršyklės langą perduoda funkcija print_r. Kai šios funkcijos argumentas yra masyvas, naršyklės lange įrašomas žodis Array ir už jo skliaustuose išvardijamos masyvo elementų reikšmės, pavyzdžiui:


PHP
  1. <?php
  2. $a('Jonas'=>"Direktorius", 'Ona' => "Administratorė", 'Vilma'=> "Sekretorė");
  3. print_r($a);
  4.  
  5. ?>


Dažniausiai toks spausdinimas (rezultato išvedimas) atliekamas derint PHP programas. Įvykdžius aprašytą programos fragmentą, naršyklės lange bus rodomi tokie duomenys:

PHP
  1. <?php
  2. Array
  3. (
  4. [Jonas] =>Direktorius
  5. [Ona] => Administratorė
  6. [Vilma] => Sekretorė
  7. )
  8. ?>



Prieš aprašant masyvo kintamajam taikomus veiksmus kartais naudinga pasitikslinti, ar kintamasis tikrai yra masyvo tipo. Tai padaryti leidžia loginė funkcija is array, kurios argumentas yra kintamasis, o grąžinama reikšmė true nurodo, kad tai yra masyvas. Ir tai beveik viskas ką jums reikėtų žinoti apie masyvą.


Radę gramatinių, loginių ar viename iš pavyzdinių kodų klaidų praneškite.

-NOD32
Komentarų dar neparašyta.
Rašyti komentarą
Turite prisijungti, norėdami parašyti komentarą.