Curs Php-mysql

Functia prezentata in aceasta pagina (sortMultiArray() ) poate sorta /ordona un intreg array multi-dimensional dupa un element din array-ul copil, case-insensitive (fara diferenta intre litere mici si mari). Returneaza array-ul multi-dimensional ordonat.
    - Codul functiei:
/*
 Ordoneaza un intreg Array multi-dimensional
 - $arr = array-ul multi-dimensional
 - $k = un sir cu numele de index /cheie din array-ul copil, dupa care se face ordonarea
 - $sort = una din aceste optiuni de sortare:

    SORT_ASC - ordoneaza crescator.
    SORT_DESC - ordoneaza descrescator.
    SORT_REGULAR - compara elementele normal (nu schimba tipul)
    SORT_NUMERIC - compara elementele numeric
    SORT_STRING - compara ca tip sir (string)
    SORT_LOCALE_STRING - compara ca tip sir bazat pe current-locale, care poate fi modificat cu setlocale()
    SORT_NATURAL - compara elementele ca tip sir, folosind "ordinea normala" precum natsort()
*/
function sortMultiArray($arr, $k, $sort) {
  $tmp = Array();
  foreach($arr as &$ma)  $tmp[] = &$ma[$k];
  $tmp = array_map('strtolower', $tmp);      // pt case-insensitive
  array_multisort($tmp, $sort, $arr);
  return $arr;
}
- Examplu utilizare. Ordooneaza acest array, dupa "nr", descrescator; si dupa "fruit".
$arr = array(
 'alex'=>array('nr'=>3, 'fruit'=>'orange'),
 'mars'=>array('nr'=>8, 'fruit'=>'Banana'),
 'victor'=>array('nr'=>4, 'fruit'=>'apple'),
);
Cod php:
<?php
// https://marplo.net/php-mysql/
/*
 Ordoneaza un intreg Array multi-dimensional
 - $arr = array-ul multi-dimensional
 - $k = un sir cu numele de index /cheie din array-ul copil, dupa care se face ordonarea
 - $sort = una din aceste optiuni de sortare:

    SORT_ASC - ordoneaza crescator.
    SORT_DESC - ordoneaza descrescator.
    SORT_REGULAR - compara elementele normal (nu schimba tipul)
    SORT_NUMERIC - compara elementele numeric
    SORT_STRING - compara ca tip sir (string)
    SORT_LOCALE_STRING - compara ca tip sir bazat pe current-locale, care poate fi modificat cu setlocale()
    SORT_NATURAL - compara elementele ca tip sir, folosind "ordinea normala" precum natsort()
*/
function sortMultiArray($arr, $k, $sort) {
  $tmp = Array();
  foreach($arr as &$ma)  $tmp[] = &$ma[$k];
  $tmp = array_map('strtolower', $tmp);      // pt case-insensitive
  array_multisort($tmp, $sort, $arr);
  return $arr;
}

// array bi-dimensional
$arr = array(
 'alex'=>array('nr'=>3, 'fruit'=>'orange'),
 'mars'=>array('nr'=>8, 'fruit'=>'Banana'),
 'victor'=>array('nr'=>4, 'fruit'=>'apple'),
);

// ordoneaza array-ul dupa 'nr', descrescator
$arr1 = sortMultiArray($arr, 'nr', SORT_DESC);

// sorteaza dupa 'fruit'
$arr2 = sortMultiArray($arr, 'fruit', SORT_STRING);

// Test
echo '<pre>Dupa "nr":<br/>';
var_export($arr1);

echo '<br/><br/>Dupa "fruit":<br/>';
var_export($arr2);
echo '</pre>';
Rezultat:
Dupa "nr":
array (
  'mars' => array ( 'nr' => 8, 'fruit' => 'Banana' ),
  'victor' => array ( 'nr' => 4, 'fruit' => 'apple' ),
  'alex' => array ( 'nr' => 3, 'fruit' => 'orange' )
)

Dupa "fruit":
array (
  'victor' => array ( 'nr' => 4, 'fruit' => 'apple' ),
  'mars' => array ( 'nr' => 8, 'fruit' => 'Banana' ),
  'alex' => array ( 'nr' => 3, 'fruit' => 'orange' )
)

Functia sortMultiArray() efectueaza o sortare case-insensitive (fara diferenta intre litere mici si mari). Pentru a efectua o sortare case-sensitive (sirurile cu litera mare sa apara in fata celor cu litera mica) stergeti (sau schimbati in comentariu, cu "//") aceasta linie de cod din functie.
    $tmp = array_map('strtolower', $tmp);     // pt case-insensitive


Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut face ca valoarea din caseta de text sa nu poata fi modificata de utilizator?
checked="checked" readonly="readonly" disabled="disabled"
<input type="text" value="valoare-fixa" readonly="readonly" name="a_name" />
Ce proprietate CSS permite crearea de colturi rotunjite?
background-size border-size border-radius
.class {
  border:2px solid blue;
  border-radius:1.2em;
}
Ce instructiune afiseaza o fereastra cu mesaj si butoane OK si Cancel?
indexOf() confirm() prompt()
var ques = window.confirm("Rezultatul lui 0+0 este 0?");
if (ques) alert("Corect");
else alert("Incorect");
Indicati functia PHP care returneaza numarul cel mai mic dintr-o multime de numere.
floor() ceil() min()
$min_nr = min(12, 8, 25, 13);
echo $min_nr;        // 8
Alegeti verbul corect care trebuie in propozitia: "Its ears ... big".
are is has
Its ears are big.
- Urechile lui sunt mari.
Alegeti verbul corect care trebuie in propozitia: "Los niños ... deportistas"
soy son está
Los niños son deportistas.
- Copii sunt sportivi.
Ordonare intreg Array multi-dimensional

Last accessed pages

  1. Prezentul simplu - Exercitii si teste incepatori (64641)
  2. Poezii pentru copii, in engleza (37495)
  3. Expresii uzuale din Limba Spaniola (A-D) (5699)
  4. Verbe modale - SHALL, SHOULD, OUGHT TO, WILL, WOULD, USED TO, BE TO, DARE (31606)
  5. Formatare text in pagina html (35054)

Popular pages this month

  1. Exercitii engleza - English Tests and exercises - Grammar (164)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (127)
  3. Conditional IF in Limba Engleza - Fraze Conditionale (107)
  4. Pronumele in limba engleza - Pronouns (89)
  5. Gramatica limbii engleze - Prezentare Generala (79)