Aici gasiti cateva din cele mai utile functii PHP pentru Array (matrice).
1.
array_change_key_case(array, case)
- Transforma cheile din primul parametru (array) in majuscule sau litere mici, dupa cum e specificat la "case" (CASE_UPPER sau CASE_LOWER). Default e CASE_LOWER. Daca "array" nu e o matrice, returneaza FALSE.
<?php
$aray = array("FirSt"=>1, "SecOnd"=>8);
print_r(array_change_key_case($aray, CASE_UPPER));
// Va afisa: Array ( [FIRST] => 1 [SECOND] => 8 )
?>
2.
array_chunk(array, nr)
- Imparte "array" intr-un numar de sub-matrici, precizat la "nr", indexate de la 0. Daca "array" nu are elemente, returneaza NULL.
<?php
$aray = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($aray, 2));
// Va afisa: Array ( [0]=>Array ( [0]=>a [1]=>b ) [1]=>Array ( [0]=>c [1]=>d ) [2]=>Array ( [0]=>e ) )
?>
3.
array_combine(array_k, array_v)
- Creaza un array folosind valorile din "array_k" pentru chei, iar elementele din "array_v" pentru valorile lor. Numarul de elementele din cele 2 matrici trebuie sa fie egal, in caz contrar returneaza FALSE.
<?php
$a = array('a', 'b', 'c');
$b = array('x', 'y', 'z');
$c = array_combine($a, $b);
print_r($c);
// Va afisa: Array ( [a] => x [b] => y [c] => z )
?>
4.
array_count_values(array)
- Returneaza o matrice cu numarul de repetari a fiecarui element din "array".
<?php
$aray = array('a', 8, 'a', 'b', 'a', 8, 'c');
$re = array_count_values($aray);
print_r($re);
// Return: Array ( [a] => 3 [8] => 2 [b] => 1 [c] => 1 )
?>
5.
array_diff(array1, array2)
- Returneaza o matrice cu elementele din "array1" care nu se gasesc in "array2".
<?php
$aray1 = array("a"=>"green", "blue", "red");
$aray2 = array("b"=>"green", "yellow", "red");
$re = array_diff($aray1, $aray2);
print_r($re);
// Va afisa: Array ( [1] => blue )
?>
6.
array_flip(array)
- Schimba valorile si cheile intre ele. Din valorile care se repeta o pastreaza pe ultima.
<?php
$aray = array("a"=>1, "b"=>2, "c"=>2);
$re = array_flip($aray);
print_r($re);
// Va afisa: Array ( [1] => a [2] => c )
?>
7.
array_intersect(array1, array2, ...)
- Returneaza o matrice cu toate valorile din "array1" care se gasesc in toati ceilalti "array" dati ca parametri.
<?php
$aray1 = array("a"=>1, "b"=>'a', "c"=>'d', 'e');
$aray2 = array(8, 'a', 'd');
$aray3 = array(1, 'a', 'c', 'd');
$re = array_intersect($aray1, $aray2, $aray3);
print_r($re);
// Return: Array ( [b] => a [c] => d )
?>
8.
array_key_exists(cheie, array)
- Returneaza TRUE daca "cheie" este o cheie (index) in matricea "array", in caz contrar returneaza FALSE.
<?php
$aray = array("a"=>1, "b"=>'a', "mp"=>'d');
if (array_key_exists('mp', $aray)) {
echo 'Cheia exista';
}
?>
9.
array_keys(array, val)
- Returneaza o matrice cu toate cheile din "array". Parametrul "val" e optional, daca e specificat, va returna doar cheile cu valoarea "val".
<?php
$aray = array("a"=>1, "b"=>'c', 'd', "mp"=>'d');
$re = array_keys($aray);
print_r($re);
// Va afisa: Array ( [0] => a [1] => b [2] => 0 [3] => mp )
?>
10.
array_map("functie", array)
- Aplica functia pentru fiecare element din "array"
<?php
function f_test($val) {
return $val+2;
}
$aray = array("a"=>1, "b"=>'c', 2);
$aray = array_map("f_test", $aray);
print_r($aray);
// Return: Array ( [a] => 3 [b] => 2 [0] => 4 )
?>
11.
array_merge($array1, $array2, ...)
- Uneste mai multe array in unul singur. Daca au cheie de tip sir identice, va fi pastrata valoarea ultimei chei.
<?php
$aray1 = array("a"=>1, 3, 4);
$aray2 = array("a"=>2, 8);
$re = array_merge($aray1, $aray2);
print_r($re);
// Va afisa: Array ( [a] => 2 [0] => 3 [1] => 4 [2] => 8 )
?>
12.
array_pop(array)
- Elimina ultimul element din "array", care va fi transferat ca valoarea returnata de "array_pop()". Daca parametru nu e matrice sau e gol, returneaza NULL.
<?php
$aray = array("a"=>1, 3, 4);
$re = array_pop($aray);
// $aray va avea acum: array("a"=>1, 3);
echo $re; // 4
?>
13.
array_product(array)
- Returneaza produsul elementelor din "array"
<?php
$aray = array(1, 2, 3, 4);
echo array_product($aray); // 24
?>
14.
array_rand(aray, nr)
- Preia aleator un "nr" de chei din "array", respectand ordinea lor. Daca "nr" e 1, va returna o cheie aleasa aleator. Altfel, returneaza o matrice cu acele chei preluate aleator.
<?php
$aray = array('x'=>'tutorial', 'y'=>8, 'z'=>'php', 'curs');
$ar_keys = array_rand($aray, 3); // Preia aleator 3 chei, si le aranjaza succesiv in $ar_keys
// Parcurge matricea cu cheile alese si afiseaza valoare corespunzatoare fiecareia
for($i=0; $i<count($ar_keys); $i++) {
$key = $ar_keys[$i];
echo $aray[$key]. ' - ';
}
// Return: tutorial - 8 - php -
?>
15.
array_reverse(array)
- Returneaza "array" cu ordinea elementelor inversata.
<?php
$aray = array(1, 2, 3, 'a', 'b'=>'c');
$re = array_reverse($aray);
print_r($re);
// Return: Array ( [b] => c [0] => a [1] => 3 [2] => 2 [3] => 1 )
?>
16.
array_search("val", array)
- Returneaza cheia din "array" care are valoarea "val", sau FALSE daca nu exista. Cautarea e "case-sensitive"
<?php
$aray = array(1, 2, 3, 'a', 'b'=>'c');
$re = array_search('c', $aray);
echo $re; b
?>
17.
array_shift(array)
- Elimina primul element din "array", care va fi transferat ca valoarea returnata de "array_shift()". Cheile vor fi renumerotate de la 0. Daca parametru nu e matrice sau e gol, returneaza NULL.
<?php
$aray = array("a"=>1, 3, 4);
$re = array_shift($aray);
// $aray va avea acum: array(3, 4);
echo $re; // 1
?>
18.
array_slice(array, start, nr)
- Returneaza un "nr" din elementele lui "array', incepand de la elementul numarul "start" (primul e 0), cate elemente arata "nr". Daca "nr" nu e specificat, va fi considerat pana la ultimul.
<?php
$aray = array("a"=>1, 3, 4, 5, 6, 7);
$re = array_slice($aray, 2, 3); // $re va avea: array(4, 5, 6)
$re = array_slice($aray, 3); // $re va avea: array(5, 6, 7
?>
19.
array_sum(array)
- Returneaza suma elementelor din "array"
<?php
$aray = array(1, 2, 3, 4);
echo array_sum($aray); // 10
?>
20.
array_unique(array)
- Returneaza matricea "array" fara valorile duplicate, acestea fiind luate o singura data.
<?php
$aray = array(1, 2, 1, 4, 3, 4);
$aray = array_unique($aray); // $aray va avea: array(1, 2, 4, 3)
?>
21.
array_values(array)
- Returneaza o matrice cu toate valorile din "array", ordonate numeric de la 0.
<?php
$aray = array("a"=>1, "b"=>'c', 'd', "mp"=>'d');
$re = array_values($aray);
print_r($re);
// Va afisa: Array ( [0] => 1 [1] => c [2] => d [3] => d )
?>
22.
arsort(array)
- Sorteaza un "array" cu valorile ordonate in ordine inversa alfabetic, pastrand corelatia dintre chei si valori. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('c', "b"=>'xy', 'pm', "mp"=>'de');
arsort($aray);
// $aray va deveni: array("b"=>'xy', 'pm', "mp"=>'de', 'c')
?>
23.
asort(array)
- Sorteaza un "array" cu valorile ordonate in ordine alfabetica, pastrand corelatia dintre chei si valori. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('c', "b"=>'xy', 'pm', "mp"=>'de');
arsort($aray);
// $aray va deveni: array('c', "mp"=>'de', 'pm', "b"=>'xy')
?>
24.
count(array)
- Returneaza numarul de elemente din "array"
<?php
$aray = array('c', "b"=>'xy', 'pm', "mp"=>'de');
echo count($aray); // 4
?>
25.
current(array);
- Returneaza valoarea elementului curent din "array", daca nu are elemente returneaza FALSE. Fiecare matrice are un pointer intern, care prima data e setat la primul element.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
echo current($aray); // php
?>
26.
end(array);
- Muta pointerul din "array" la ultimul element si returneaza valoarea lui, daca nu are elemente returneaza FALSE.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
echo end($aray); // curs
?>
27.
implode("separator", array);
- Transforma "array" in sir (string), adaugand valorile intr-un sir, separate de ceea ce e specificat la "separator".
<?php
$aray = array('www', 'marplo', 'net');
$sir = implode('.', $aray);
echo $sir; // marplo.net
?>
28.
in_array("val", array)
- Verifica daca o matrice contine o anumita valoare. Returneaza TRUE daca vreunul din elementele din "array" are valoarea "val", in caz contrar FALSE.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
if (in_array('tutorial', $aray)) {
// Se executa ce se vrea
}
?>
29.
key(array)
- Returneaza cheia elementului curent la care se afla pointerul
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
end($aray); // Muta pointerul la ultimul element
echo key($aray); // mp
?>
30.
krsort(array)
- Sorteaza un "array" dupa chei ordonate in ordine inversa alfabetic, pastrand corelatia dintre chei si valori. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
krsort($aray);
// $aray va deveni: array("mp"=>'curs', 'li'=>'php', "free"=>'tutorial', 'mysql')
?>
31.
ksort(array)
- Sorteaza un "array" dupa chei ordonate in ordine alfabetica, pastrand corelatia dintre chei si valori. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
ksort($aray);
// $aray va deveni: array('mysql', "free"=>'tutorial', 'li'=>'php', "mp"=>'curs')
?>
32.
natcasesort(array)
- Sorteaza un "array" in ordine alfabetica a valorilor, case-insensitive, folosind ordinea naturala a numerelor. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'Php', "free"=>'tutorial', 'MySQL', "mp"=>'curs');
natcasesort($aray);
// $aray va deveni: array("mp"=>'curs', 'MySQL', 'li'=>'Php', "free"=>'tutorial')
?>
33.
next(array);
- Avanseaza pointerul din "array" inainte cu un element si returneaza valoarea, daca nu are elemente returneaza FALSE.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
echo next($aray); // tutorial
?>
34.
prev(array);
- Muta pointerul din "array" inapoi cu un element si returneaza valoarea, daca nu are elemente returneaza FALSE.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
end($aray); // Duce pointerul la ultimul element
echo prev($aray); // mysql
?>
35.
reset(array);
- Readuce pointerul din "array" la primul element si returneaza valoarea lui, daca nu are elemente returneaza FALSE.
<?php
$aray = array('php', "free"=>'tutorial', 'mysql', "mp"=>'curs');
next($aray); // Avanseaza pointerul cu un element
echo reset($aray); // php
?>
36.
rsort(array)
- Sorteaza un "array" in ordine inversa alfabetic a valorilor (literele mici inaintea celor mari), stergand cheile initiale, devenind un Array asociativ cu chei de la 0. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'Php', "free"=>'tutoriale', 'MySQL', "mp"=>'curs');
rsort($aray);
// $aray va deveni: array('tutoriale', 'curs', 'Php', 'MySQL')
?>
37.
sort(array)
- Sorteaza un "array" in ordine alfabetica a valorilor (literele mari inaintea celor mici), stergand cheile initiale, devenind un Array asociativ cu chei de la 0. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'Php', "free"=>'tutoriale', 'MySQL', "mp"=>'curs');
rsort($aray);
// $aray va deveni: array('MySQL', 'Php', 'curs', 'tutoriale')
?>
38.
shuffle(array)
- Amesteca aleator elementele din "array". Sterge cheile initiale, devenind un Array asociativ cu chei de la 0. In caz de succes returneaza TRUE, altfel, FALSE.
<?php
$aray = array('li'=>'Php', "free"=>'tutoriale', 'MySQL', "mp"=>'curs');
shuffle($aray); // $aray va avea elementele amestecate aleator
?>
-
Lista completa cu functiile PHP pentru lucru cu matrice o gasiti la pagina Functii pentru Array