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 adauga o aplicatie externa (SWF, PDF) in pagina web?
<mark> <embed> <canvas>
<embed src="flash_game.swf" width="450" height="350" />
Ce pseudo-element adauga un anume stil la prima linie de text din element?
:first-letter :before :first-line
#id:first-line {
  font-weight: bold;
  color: blue;
}
Clic pe proprietatea obiectului window care preia sau seteaza adresa URL a paginii curente.
window.location window.self window.status
var url = window.location;
alert(url);
Indicati functia PHP care preia continutul unui fisier sau pagina si-l adauga intr-un sir.
fopen() file_put_contents() file_get_contents()
$homepage = file_get_contents("http://www.marplo.net/");
echo $homepage;
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
seven - eight ten - six three - five
This fruit has seven or eight seeds.
- Acest fruct are sapte sau opt seminte.
Care din urmatoarele perechi de numere sunt in ordine unul dupa altu?
diez - seis siete - ocho tres - cinco
Esta fruta tiene siete u ocho semillas.
- Acest fruct are sapte sau opt seminte.
Ordonare intreg Array multi-dimensional

Last accessed pages

  1. Utilizare Gradient (538)
  2. Pronume posesiv (1502)
  3. Auto schimbare imagini (1353)
  4. Verbe modale 2 - Teste incepatori (7497)
  5. Verificare si Validare caractere din formular (953)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (305)
  2. Curs si Tutoriale JavaScript (172)
  3. Curs PHP MySQL, Tutoriale si Scripturi PHP (171)
  4. Curs HTML gratuit Tutoriale HTML5 (167)
  5. Curs CSS Online Tutoriale CSS3 (152)