Мне нужно отсортировать массив:
$tableColumns=array(
'icons' => '',
'mailnickname' => t('Internal code'),
'telephonenumberextension' => t('Internal extension'),
'sn' => t('Last name'),
'givenname' => t('First name'),
'cn' => t('Username'),
'level' => t('Role'),
'has_photo' => t('Photo'),
'workspace_workplace' => t('Workspace'),
'workspace_layout' => t('Officelayout'),
'company' => t('Company'),
'department' => t('Department'),
'group' => t('Group'),
'position' => t('Position'),
'supervisor_name' => t('Supervisor'),
'description' => t('Description'),
'mail' => t('Email'),
'mobile' => t('Mobile'),
'telephonenumber' => t('Telephone'),
'extensionattribute1' => t('City'),
'updated' => t('Synchronized')
);
по этому порядку. Параметры:
$order_setup= array(
'mailnickname',
'telephonenumberextension',
'sn',
'givenname',
'has_photo',
'workspace_workplace',
'company',
'department',
'group',
'position',
'supervisor_name',
'mail',
'mobile',
'telephonenumber',
'extensionattribute1',
);
$tableColumns
необходимо отсортировать по $order_setup
.
Я пытаюсь что-то вроде этого, но не работает хорошо:
<code>$array_order = array_flip($tableColumns);
usort($array_order, function ($a, $b) use ($order_setup) {
$pos_a = array_search($a, $order_setup);
$pos_b = array_search($b, $order_setup);
return $pos_a - $pos_b;
});
$tableColumns_sorted = array();
foreach($array_order as $o)
{
$tableColumns_sorted[$o]=$tableColumns[$o];
}
echo '<pre>', var_dump($tableColumns_sorted), '
';