/* 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
<input type="text" value="valoare-fixa" readonly="readonly" name="a_name" />
.class { border:2px solid blue; border-radius:1.2em; }
var ques = window.confirm("Rezultatul lui 0+0 este 0?"); if (ques) alert("Corect"); else alert("Incorect");
$min_nr = min(12, 8, 25, 13); echo $min_nr; // 8
Its ears are big. - Urechile lui sunt mari.
Los niños son deportistas. - Copii sunt sportivi.