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
Care tag HTML5 defineste un text marcat, evidentiat?
<mark> <embed> <span>
<p>Cursuri graruite: <mark>MarPlo.net</mark> , jocuri, anime.</p>
Ce pseudo-clasa CSS defineste un stil la element cand mouse-ul e deasupra lui?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Clic pe functia ce returneaza un sir cu un numar rotunjit la x decimale.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicati functia PHP care adauga continutul unui fisier intr-un array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Clic pe raspunsul potrivit la intrebarea: "What time is it?"
On the 7th of July 1996 It is a quarter to 5. Nice weather.
What time is it? It is a quarter to 5.
- Cat este ora? E 5 fara un sfert.
Indicati raspunsul potrivit la intrebarea: "¿Qué hora es?"
Hace buen tiempo. En el 7 de julio de 1996 Son las tres menos cuarto.
¿Qué hora es? Son las tres menos cuarto.
- Cat este ora? E 3 fara un sfert.
Ordonare intreg Array multi-dimensional

Last accessed pages

  1. Adverbele in limba engleza - Adverbs (33780)
  2. Prepozitii - Prepositions (34145)
  3. Scoala zeilor (5964)
  4. Diferenta dintre Like si As (12264)
  5. Cursuri Limba Rusa (6201)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (214)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (154)
  3. Limba spaniola curs online incepatori si avansati (80)
  4. Teste spaniola - Tests y ejercicios de Español - Gramática (78)
  5. Gramatica limbii engleze - Prezentare Generala (73)