II. Notiuni de baza8. Operatii cu vectori

Moderatori: Moderators, Founder

Mesaj

Avatar utilizator
CEO
Posts
3802
Operatii cu vectori

Operatiile clasice de cautare, sortare, inserare, etc se pot realiza foarte usor cu ajutorul functiilor specializate, fara sa fie necesara parcurgerea manuala a vectorilor. Iata cateva exemple.

Cod: Selectaţi tot

$vector = array( 1, 2, 3, 4, 5, 6 ); $vectAs = array( 'unu' => 'one', 'doi' => 'two', 'trei' => 3 ); // lungimea unui vector (numarul de elemente) print count( $vector ); // 6 // se gaseste o valoare in vector? print in_array( 3, $vector ); // true // exista o anumita cheie in vector? print array_key_exists( 'trei', $vectAs ); // true // returneaza toate cheile din vector: print_r( array_keys( $vectAs ) ); // Array ( [0] => unu [1] => doi [2] => trei ) // returneaza toate valorile din vector: print_r( array_values( $vectAs ) ); // Array ( [0] => one [1] => two [2] => 3 ) // returneaza o parte din vector print_r( array_slice( $vector, 3 ) ); // de la pozitia 3 pana la final: 4, 5, 6 print_r( array_slice( $vector, 3, 2 ) ); // de la pozitia 3, doua elemente: 4, 5 print_r( array_slice( $vector, -5, 3 ) ); // de la final inapoi 5 pozitii: 2, 3, 4 // foloseste cheile unui vector ca variabile: extract( $vectAs ); print $unu; // one print $doi; // two print $trei; // 3 // sorteaza un vector sort( $vector ); // 1, 2, 3, 4, 5, 6 rsort( $vector ); // 6, 5, 4, 3, 2, 1 asort( $vectAs ); // sorteaza valorile si mentine asocierea cheilor // preluare elemente unice din vector print_r( array_unique( $vector ) ); // adauga o valoare la sfarsitul unui vector $vector[] = 7; array_push( $vector, 8 ); # nota: cele 2 instructiuni de mai sus sunt echivalente // modifica un anumit element din vector $vectAs[ 'trei' ] = 'three';
---------------------------------

Aplicatie: Sa se afiseze tipul browserului folosit de utilizator

Vom folosi variabila predefinita $_SERVER care contine elementul HTTP_USER_AGENT. Acesta contine textul de identificare transmis de browser catre server. Vom cauta in acest text denumirile browserelor cunoscute si vom afisa un mesaj corespunzator.

Pentru inceput definim o lista de browsere cunoscute.

In continuare vom lua fiecare browser si vom verifica daca se afla in textul de identificare al browserului. $b ) { // $b va avea pe rand fiecare valoare din vectorul $browser // $i preprezinta pozitia lui $b in vector if( stristr( $_SERVER[ 'HTTP_USER_AGENT' ], $b ) ) { $gasit = true; print "Folositi {$browser[ $i ]}!
"; } if( $gasit ) break; // opreste cautarea daca browserul a fost identificat } ?> Rezultatul este afisat mai jos (nota: incercati sa accesati aceasta pagina cu browsere diferite pentru a vedea ca mesajul de schimba): Folositi Chrome!
---------------------------------

Depanare

Cod: Selectaţi tot

// afisarea unui 'dump' al vectorului - o lista cu toate elementele. //De obicei se foloseste la depanare: print_r( $vectAs ); /* afiseaza Array ( [unu] => one [doi] => two [trei] => 3 ) */ // se afiseaza la fel ca mai sus o lista cu elementele vectorului, doar // ca se specifica si tipul fiecaruia. var_dump( $vectAs ); /* afiseaza array(3) { ["unu"]=> string(3) "one" ["doi"]=> string(3) "two" ["trei"]=> int(3) } */
========================
CONTACT : diliulro@yahoo.com
========================
Închis