online: 7; azi: 800; total: 52806 Webdesign - Phpmysql - 67

Functii pentru Array

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', 'discant', 'net');
$sir = implode('.', $aray);

echo $sir;       // www.discant.ro
?>

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