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) } */