|
|
|
| Помогите составить правильно функцию для сортировки по своим параметрам.
Есть массив, где первые два символа - это цифры. Вот по ним и надо отсортировать элементы.
$spisok=array("05 3568","01 w540","08 24572","12258 356","16 3cfetyir7","55 24524frr","08 25tt");
function lns($spisok){$spisok=substr($spisok,0,2); return $spisok;}
uksort($spisok,lns);
|
Что-то не работает... ( | |
|
|
|
|
|
|
|
для: taurus
(15.08.2015 в 13:32)
| | А чем вас стандартная сортировка не устроила?
строки и так будут посимвольно сравниваться:
<?
$spisok = array("05 3568","01 w540","08 24572","12258 356","16 3cfetyir7","55 24524frr","08 25tt");
sort($spisok);
print_r($spisok);
|
результат:
<?
Array
(
[0] => 01 w540
[1] => 05 3568
[2] => 08 24572
[3] => 08 25tt
[4] => 12258 356
[5] => 16 3cfetyir7
[6] => 55 24524frr
)
|
ну, а если желаете свою функцию использовать, то тогда как-то так:
<?
$spisok = array("05 3568","01 w540","08 24572","12258 356","16 3cfetyir7","55 24524frr","08 25tt");
usort($spisok, function($a, $b) {
return strcasecmp(substr($a, 0, 2), substr($b, 0, 2));
});
print_r($spisok);
|
результат тот же.
Вы зачем-то пытались сортировать по ключам и делали это мягко говоря не очень правильно. Смотрите документацию по методу | |
|
|
|