E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale PHP

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  PHP  /  Introducere in PHP (24)

IV. Manipularea vectorilor

19.05.2008
IV. Manipularea vectorilor

Spre deosebire de variabilele discutate in capitolele anterioare, array-urile sau vectorii sunt structuri complexe care pot stoca valori multiple folosind acelasi nume de variabila, ceea ce poate fi util atunci cand datele memorate sunt corelate. Iti poti imagina un array ca pe o variabila "container", care contine mai multe valori.

Total vizualizari: 6901 6901 afisari   |   Comentarii  0   |   Rating   |   (3 voturi)   |   Timp necesar: 20 min 20 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  Zend.com  
Autor:  Vikram Vaswani
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
« 123 4
comenteaza printeaza

Bucla foreach()
Pentru array-uri asociative, exista o metoda mai simpla de parcurgere a acestora, si anume folosind bucla foreach() , introdusa pentru prima data in versiunea de PHP 4.0. Aceasta instructiune este similara ca sintaxa cu cea din limbajul Perl. Iata cum se foloseste:

// pentru fiecare element $temp din vectorul $array
foreach ($array as $temp) { 
    // executa cod
    
}

O bucla foreach() preia fiecare element din array o singura data, trecand la urmatorul element la fiecare iteratie. Spre deosebire de o bucla for(), ea nu necesita un apel al functiei sizeof() pentru a retine pozitia sa din cadrul array-ului. Scriptul dintre acolade este executat la fiecare iteratie, elementul curent din vector putand fi apelat prin intermediul variabilei temporare $temp.

Pentru a intelege mai bine cele prezentate de mai sus, sa rescriem exemplul anterior folosind foreach():

<html> 
<head></head>
<body> 
Formatiile mele preferate sunt: 
<ul> 
<?php 
// defineste array-ul
$artists = array('Metallica', 'Evanescence', 
'Linkin Park', 'Guns n Roses'); 
// parcurge array-ul si afiseaza elementele  
foreach ($artists as $a) { 
    echo '<li>'.$a; 
} 
?> 
</ul> 
</body> 
</html>

La fiecare iteratie, elementul curent este plasat in variabila temporara $a, ce poate fi utilizata in cadrul blocului de cod dintre acolade. Deoarece instructiunea foreach() nu necesita un contor pentru a retine pozitia sa din cadrul array-ului, ea este mai usor de utilizat si citit decat for(). In plus, ea poate lucra si cu array-uri asociative, fara a necesita prelucrari suplimentare ale acestora.

Utilizarea vectorilor in cadrul formularelor
In plus fata de facilitatile deja prezentate, array-urile si instructiunile repetitive pot fi utilizate si pentru procesarea formularelor in PHP. Ca exemplu, sa presupunem ca trebuie sa citim informatiile transmise de un formular ce contine o lista de checkbox-uri care au acelasi nume sau un meniu drop-down cu selectie multipla. Cu ajutorul vectorilor, poti citi si procesa aceste date folosind un singur nume de variabila, ca in exemplul urmator:

<html> 
<head></head>
<body> 
<?php 
// verifica daca formularul a fost trimis 
if (!isset($_POST['submit'])) { 
    // daca nu, afiseaza formularul 
    ?> 
    <form action="<?php echo 
    $_SERVER['PHP_SELF']; ?>" method="POST"> 
    <input type="checkbox" name="artist[]" 
    value="Bon Jovi">Bon Jovi 
    <input type="checkbox" name="artist[]" 
    value="N'Sync">N'Sync 
    <input type="checkbox" name="artist[]" 
    value="Boyzone">Boyzone 
    <input type="checkbox" name="artist[]" 
    value="Britney Spears">Britney Spears 
    <input type="checkbox" name="artist[]" 
    value="Jethro Tull">Jethro Tull 
    <input type="checkbox" name="artist[]" 
    value="Crosby, Stills & Nash">Crosby, 
    Stills & Nash 
    <input type="submit" name="submit" 
    value="Select"> 
    </form> 
<?php 
    } 
else { 
    // daca da, afiseaza artistii selectati 
    // afiseaza elementele din vector utilizand o bucla foreach
    if (is_array($_POST['artist'])) { 
        echo 'Ai selectat: <br />'; 
        foreach ($_POST['artist'] as $a) { 
           echo "<i>$a</i><br />"; 
            } 
        } 
    else { 
        echo 'Nu ai selectat nici un artist.'; 
    } 
} 
?> 
</body> 
</html>

Atunci cand formularul de mai sus este trimis, PHP creeaza automat o variabila de tip array si o populeaza cu valorile selectate. Acest vector este apoi procesat printr-o instructiune foreach() pentru a prelua elementele selectate.

In acest exemplu, lista de checkbox-uri se poate inlocui cu un meniu dropdown cu selectie multipla, folosind apoi numele acestuia (valoarea atributului name din tag-ul select) pentru a parcurge elementele selectate.

Pagina:
« 123 4
comenteaza printeaza
Alte tutoriale PHP:
Noteaza acest tutorial
Rating tutorial
 
(3 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
5195
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
5150
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
5000
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4975
Tutoriale scrise de beacherrosa
beacherrosa Rang utilizator beacherrosa - Incepator
4735
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
SWF Java Ruby on Rails Swift 3D MySQL Photoshop Dreamweaver RoR Gimp StyleSheet AJAX Javascript Vista Fireworks Fotografie JSON Action Script SEO Powerpoint Flash PSD XHTML CSS Outlook COREL DRAW PHP Lightroom Bridge Word Illustrator HTML XML Verilog Sony Vegas Python Excel
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software