/* 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
<div>Web Programming and Development</div>
h2 { text-decoration: underline; }
function someFunction() { alert("CoursesWeb.net"); } setTimeout("someFunction()", 2000);
$food =["fruits" =>["banana", "mar"), "veggie" =>["ceapa", "rosie")); $nr_food = count($food, 1); echo $nr_food; // 6
The child will haven't played by Sunday. - Copilul nu s-ar fi jucat pana duminica.
Él no habrá contado el cuento. - El nu ar fi spus povestea.