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’, ‘PHPCursWeb’, ‘net’);
$sir = implode(‘.’, $aray);

echo $sir;       // www.PHPCursWeb.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 www.php.net



Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *