PHP kalbos Masyvai
- Spausdinti
- 2010-01-01
- Nekategorizuota
- 5725 Peržiūros
- 0 komentarai
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:
Naudojant konstruktorių array, galima iš karto apibrėžti visų masyve saugomų reikšmių rinkinį:
Masyvus su sveikųjų skaičių ir lotyniškų raidžių alfabeto atkarpomis sukuria funkcija range:
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:
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:
Apdorojant masyvuose saugomus duomenis, naudojami visų jų elementų perrinkimo ciklai. Kai indeksai yra skaičiai, tai galima padaryti su ciklu for, pavyzdžiui:
Šiame pavyzdyje naudojama funkcija sizeof skaičiuoja jos argumento nurodomo masyvo elementų skaičių. Patogiau masyvų perrinkimui, naudojama tokia atmaina:
Ciklas kartojamas tiek kartų, kiek masyve yra elementų, ir kiekviena pakartojimo metu kintamajam Elementas suteikiama vis kito masyvo elemento reikšmė, pavyzdžiui:
Masyvų su vardiniais indeksais parinkimui naudojamo ciklo foreach atmainos aprašymo sintaksė tokia:
Šios ciklo atmainos panaudojimo pavyzdys:
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:
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:
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
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
<?php
$asmuo[0] = "Jonas";
$asmuo[1] = "Ona";
$asmuo[2] = "Vilma";
$pareigos['Jonas'] = "Direktorius";
$pareigos['Ona'] = "Administratorė";
$pareigos['Ona'] = "Sekretorė";
?>
Naudojant konstruktorių array, galima iš karto apibrėžti visų masyve saugomų reikšmių rinkinį:
PHP
<?php
$asmuo = array("Jonas","Ona","Vilma"); //Masyvas su skaitiniais indeksais
$pareigos('Jonas'=> "Direktorius", 'Ona'=> " Administratorė", 'Vilma'=> "Sekretorė"); //Masyvas su vardiniais indeksais
?>
Masyvus su sveikųjų skaičių ir lotyniškų raidžių alfabeto atkarpomis sukuria funkcija range:
PHP
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
<?php
$tekstas = "Jonas, Ona, Vilma";
$masyvas = explode (',', $tekstas); //Rezultato masyvas: ("Jonas", "Ona", "Vilma")
?>
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
<?php
$masyvas = ("Jonas","Ona","Vilma");
$tekstas = join (",",$masyvas); //Rezultato eilutė: "Jonas,Ona,Vilma"
?>
Apdorojant masyvuose saugomus duomenis, naudojami visų jų elementų perrinkimo ciklai. Kai indeksai yra skaičiai, tai galima padaryti su ciklu for, pavyzdžiui:
PHP
<?php
$asmuo = array("Jonas","Ona","Vilma"); //Masyvo sukūrimas
echo "Masyvo duomenys:";
for ($sk= 1; $sk<=sizeof($sk);$sk++) //Masyvo perrinkimo ciklas
echo "$sk : $asmuo[$sk]"; //Elemento perdavimas naršyklei
?>
Šiame pavyzdyje naudojama funkcija sizeof skaičiuoja jos argumento nurodomo masyvo elementų skaičių. Patogiau masyvų perrinkimui, naudojama tokia atmaina:
PHP
<?php
foreach (Masyvo vardas as Elementas) {
Kartojami veiksmai ;
}
?>
Ciklas kartojamas tiek kartų, kiek masyve yra elementų, ir kiekviena pakartojimo metu kintamajam Elementas suteikiama vis kito masyvo elemento reikšmė, pavyzdžiui:
PHP
<?php
$asmuo = array ("Jonas,"Ona",Vilma"); //Masyvo sukūrimas
foreach ($asmuo as $vardas) { //Masyvo perrinkimo ciklas
echo "vardas $vardas"; //Vardų perdavimas naršyklei
}
?>
Masyvų su vardiniais indeksais parinkimui naudojamo ciklo foreach atmainos aprašymo sintaksė tokia:
PHP
<?php
foreach (Masyvas as Elementas =>Vardas) {
Kartojami veiksmai;
}
?>
Šios ciklo atmainos panaudojimo pavyzdys:
PHP
<?php
$pareigos('Jonas'=> "Direktorius", 'Ona' => "Administratorė", 'Vilma'=> "Sekretorė");
foreach ($pareigos as $pavadinimas => $vardas) {
echo "Asmens $vardas pareigos yra $pavadinimas.";
}
?>
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
<?php
$a('Jonas'=>"Direktorius", 'Ona' => "Administratorė", 'Vilma'=> "Sekretorė");
print_r($a);
?>
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
<?php
Array
(
[Jonas] =>Direktorius
[Ona] => Administratorė
[Vilma] => Sekretorė
)
?>
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
Rašyti komentarą
Turite prisijungti, norėdami parašyti komentarą.