• Dizaino ir programavimo pamokos

  •  
    Thread Rating:
    • 0 Votes - 0 Average
    • 1
    • 2
    • 3
    • 4
    • 5
    PHP kalbos Masyvai

    print ('Python coder')


    ***
    127

    0
    Post: #1
    RE: PHP kalbos Masyvai
    Sveiki!
    Pabandysiu jus apšviesti kas per daiktas 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:


    Code:
    $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į:


    Code:
    $asmuo = array("Jonas","Ona","Vilma"); //Masyvas su skaitiniais indeksais
    $pareigos('Jonas'=> "Direktorė",'Ona'=> " Administratorė",'Vilma'=> "Sekretorė"); //Masyvas su vardiniais indeksais

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


    Code:
    $sk = range(2,5); //Sukuriamas masyvas su skaičiais (2,3,4,5)
    $raid = range('a','z'); //Sukuriamas mažųjų lotyniškų raidžių masyvas
    $revers = range(5,2); //Sukuriamas masyvas su skaičiais (5,4,3,2)

    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:


    Code:
    $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. Funckijos join taikymo pavyzdys:


    Code:
    $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:


    Code:
    $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ų perrinkimą, naudojama tokia atmaina:


    Code:
    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:


    Code:
    $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:


    Code:
    foreach (Masyvas as Elementas =>Vardas) {
    Kartojami veiksmai;
    }


    Šios ciklo atmainos panaudojimo pavyzdys:


    Code:
    $pareigos('Jonas'=> "Direktorius",'Ona' => "Adminsitartorė",'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:


    Code:
    $a('Jonas'=>"Direktorius",'Ona' => "Administartorė", 'Vilma'=> "Sekretorė");
    print_r($a);

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


    Code:
    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_ Sveiki!
    Pabandysiu jus apšviesti kas per daiktas 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:


    Code:
    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:


    Code:
    $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į:


    Code:
    $asmuo = array("Jonas","Ona","Vilma"); //Masyvas su skaitiniais indeksais
    $pareigos('Jonas'=> "Direktorė",'Ona'=> " Administratorė",'Vilma'=> "Sekretorė"); //Masyvas su vardiniais indeksais


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


    Code:
    $sk = range(2,5); //Sukuriamas masyvas su skaičiais (2,3,4,5)
    $raid = range('a','z'); //Sukuriamas mažųjų lotyniškų raidžių masyvas
    $revers = range(5,2); //Sukuriamas masyvas su skaičiais (5,4,3,2)

    Naujant 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:


    Code:
    $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:


    Code:
    $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:


    Code:
    $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ų perrinkimą, naudojama tokia atmaina:


    Code:
    foreach (Masyvo vardas as Elementas) {
    Kartojami veiksmai ;
    }


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

    Code:
    $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:


    Code:
    foreach (Masyvas as Elementas =>Vardas) {
    Kartojami veiksmai;
    }


    Šios ciklo atmainos panaudojimo pavyzdys:


    Code:
    $pareigos('Jonas'=> "Direktorius",'Ona' => "Adminsitartorė",'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:

    Code:
    $a('Jonas'=>"Direktorius",'Ona' => "Administratorė", 'Vilma'=> "Sekretorė");
    print_r($a);

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


    Code:
    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 iš 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ą.

    ---------------------------


    ©NOD32




    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ą.
    2013-05-24 08:38
    Find Quote



    About DESCO

    Mes esame ne komercinis projektas, norime, jog Lietuvos jaunimas vis sparčiau brautųsi į technologijų amžių. Negalima sėdėti vietoje, reikia kažką veikt, todėl mūsų projektas tam puikiai tinka. Galima pas mus išmokt kažko naujo, taip pat nepamirškite, kad ir jūs galite mokyti kitus! Žinių dalinimasis geriną lietuvių mentalitetą, todėl nesmerk kito, o pamokyk!