MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Operații cu array-uri

Funcția is_array

Funcția is_array() verifică dacă o variabilă este un array și, dacă este, returnează true, altfel returnează false. De exemplu:

<?php
$users = ["Tom", "Bob", "Sam"];
$isArray = is_array($users);
echo ($isArray==true)?"este un array":"nu este un array";
?>

Funcțiile count / sizeof

Funcțiile count() și sizeof() obțin numărul de elemente dintr-un array:

<?php
$users = ["Tom", "Bob", "Sam"];
$number = count($users);
// același lucru cu
// $number = sizeof($users);
echo "Array-ul users are $number elemente";
?>

Funcția shuffle

Funcția shuffle amestecă elementele array-ului în mod aleatoriu:

<?php
$users = ["Tom", "Bob", "Sam", "Alice"];
shuffle($users);
print_r($users);
// un exemplu de rezultat posibil
// Array ( [0] => Bob [1] => Tom [2] => Alice [3] => Sam )
?>

Funcția compact.

Funcția compact permite crearea unui array asociativ dintr-un set de variabile, unde cheile vor fi numele variabilelor:

<?php
$model = "Apple II";
$producer = "Apple";
$year = 1978;

$data = compact("model", "producer", "year");
print_r($data);
// rezultatul va fi
// Array ( [model] => Apple II [producer] => Apple [year] => 1978 )
?>

Sortarea array-urilor

În PHP există două tipuri de sortare: sortarea șirurilor în ordine alfabetică și sortarea numerelor în ordine crescătoare/descrescătoare.

Dacă valorile sortate sunt șiruri, acestea vor fi sortate în ordine alfabetică; dacă sunt numere, acestea vor fi sortate în ordine crescătoare. PHP alege automat tipul de sortare.

Pentru sortarea în ordine crescătoare se folosește funcția asort:

<?php
$users = ["Tom", "Bob", "Sam", "Alice"];
asort($users);
print_r($users);
// rezultatul sortat
// Array ( [3] => Alice [1] => Bob [2] => Sam [0] => Tom )
?>

Funcția asort sortează array-ul pe baza valorilor elementelor. De asemenea, cu un parametru suplimentar, putem specifica tipul de sortare:

  • SORT_REGULAR: sortare automată
  • SORT_NUMERIC: sortare numerică
  • SORT_STRING: sortare alfabetică

Indicăm tipul de sortare:

asort($users, SORT_STRING);

Pentru sortarea array-ului în ordine descrescătoare se folosește funcția arsort:

arsort($users);

Sortarea pe baza cheilor

Funcția asort efectuează sortarea pe baza valorilor elementelor, dar există și sortarea pe baza cheilor, reprezentată de funcția ksort:

<?php
$states = ["Spain" => "Madrid", "France" => "Paris", "Germany" => "Berlin"];
asort($states);
print_r($states);
// array-ul după asort - sortare pe baza valorilor
// Array ( [Germany] => Berlin [Spain] => Madrid [France] => Paris )

ksort($states);
print_r($states);
// array-ul după ksort - sortare pe baza cheilor
// Array ( [France] => Paris [Germany] => Berlin [Spain] => Madrid )
?>

Pentru sortarea pe baza cheilor în ordine descrescătoare se folosește funcția krsort:

krsort($states);

Sortarea naturală

Deși funcțiile de sortare descrise mai sus funcționează bine, ele pot avea limitări. De exemplu, să sortăm următorul array:

<?php
$os = ["Windows 7", "Windows 8", "Windows 10"];
asort($os);
print_r($os);
// rezultatul
// Array ( [2] => Windows 10 [0] => Windows 7 [1] => Windows 8 )
?>

Cum valorile sunt șiruri, PHP le sortează în ordine alfabetică, ceea ce nu ține cont de numere și case-sensitive. Pentru a rezolva această problemă, PHP oferă funcția natsort(), care efectuează sortarea naturală:

<?php
$os = ["Windows 7", "Windows 8", "Windows 10"];
natsort($os);
print_r($os);
// rezultatul
// Array ( [0] => Windows 7 [1] => Windows 8 [2] => Windows 10 )
?>

Dacă dorim ca sortarea să nu fie case-sensitive, putem folosi funcția natcasesort():

natcasesort($os);
← Lecția anterioară Lecția următoare →