سلام من می خوام این آرایه را بر اساس اندیس title و حروف الفبا فارسی sort کنم امکانش هست؟
'contact' => array(
'title' => 'تماس با ما',
'badge' => 'contactUnreadMessage',
'icon' => 'fa fa-envelope',
'action' => 'ContactAdminController@getIndex',
),
'roles' => array(
'title' => 'گروه های کاربری',
'icon' => 'fa fa-users',
'submenu' => array(
'index' => array(
'title' => 'لیست',
'action' => 'RoleAdminController@getIndex'
),
'add' => array(
'title' => 'اضافه کردن',
'action' => 'RoleAdminController@getAdd'
),
)
),
سلام
بله چرا نشه . PHP اینقدر شیرین است.
$a = array(
'contact' => array(
'title' => 'تماس با ما',
'badge' => 'contactUnreadMessage',
'icon' => 'fa fa-envelope',
'action' => 'ContactAdminController@getIndex',
),
'roles' => array(
'title' => 'گروه های کاربری',
'icon' => 'fa fa-users',
'submenu' => array(
'index' => array(
'title' => 'لیست',
'action' => 'RoleAdminController@getIndex'
),
'add' => array(
'title' => 'اضافه کردن',
'action' => 'RoleAdminController@getAdd'
),
)
));
usort($a,function($a,$b){
return strcmp($a['title'],$b['title']); // ASC
#return strcmp($b['title'],$a['title']); // DESC
});
print_r($a);
خروجی
Array
(
[0] => Array
(
[title] => تماس با ما
[badge] => contactUnreadMessage
[icon] => fa fa-envelope
[action] => ContactAdminController@getIndex
)
[1] => Array
(
[title] => گروه های کاربری
[icon] => fa fa-users
[submenu] => Array
(
[index] => Array
(
[title] => لیست
[action] => RoleAdminController@getIndex
)
[add] => Array
(
[title] => اضافه کردن
[action] => RoleAdminController@getAdd
)
)
)
)
مرسی ولی مشکلی که داره اینه که اون key آرایه حذف میشه و به جاش اندیس از 0 شروع میشه
راست میگین !
ولی کد زیر دیگه میشه
$a = array(
'contact' => array(
'title' => 'تماس با ما',
'badge' => 'contactUnreadMessage',
'icon' => 'fa fa-envelope',
'action' => 'ContactAdminController@getIndex',
),
'roles' => array(
'title' => 'گروه های کاربری',
'icon' => 'fa fa-users',
'submenu' => array(
'index' => array(
'title' => 'لیست',
'action' => 'RoleAdminController@getIndex'
),
'add' => array(
'title' => 'اضافه کردن',
'action' => 'RoleAdminController@getAdd'
),
)
));
$price = array();
foreach ($a as $key => $row)
$price[$key] = $row['title'];
array_multisort($price, SORT_DESC, $a);
print_r($a);
http://docs.php.net/manual/en/function.a...tisort.php
http://stackoverflow.com/questions/15977...key-in-php