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 e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminación
creer = a crede; camino = cale /drum; iluminación = iluminare
Ordonare intreg Array multi-dimensional

Last accessed pages

  1. Gramatica limbii engleze - Prezentare Generala (210493)
  2. Numerale, Numere in limba engleza - Numerals (50964)
  3. Verbe modale - SHALL, SHOULD, OUGHT TO, WILL, WOULD, USED TO, BE TO, DARE (32381)
  4. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (261437)
  5. Teste spaniola - Tests y ejercicios de Español - Gramática (25568)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1081)
  2. Curs HTML gratuit Tutoriale HTML5 (885)
  3. Coduri pt culori (625)
  4. Creare si editare pagini HTML (517)
  5. Conditional IF in Limba Engleza - Fraze Conditionale (469)
Chat
Discuta sau lasa un mesaj pt. ceilalti utilizatori
Full screenInchide