Для получения полного доступа
зарегистрируйтесь.
Snippet,  PHP

Sort array so keys specified are in the beginning


There are cases when you need to make sure keys specified are in the beginning of an array in the exact order they are specified.

$data = [
    'orange' => 'orange',
    'apple' => 'tasty',
    'carpet' => 'old',
    'car' => 'fast',
];

$result = orderByKeys($data, ['car', 'carpet']);

Would result in:

$data = [
    'car' => 'fast',
    'carpet' => 'old',
    'orange' => 'orange',
    'apple' => 'tasty',    
];
function orderByKeys(array $array, array $keys)
{
    foreach ($keys as $k => $v) {
        if (!array_key_exists($v, $array)) {
            unset($keys[$k]);
        }
    }

   return array_replace(array_flip($keys), $array);
}

  sort array

Автор


samdark
  • Reputation: 349
  • Snippets : 57
  • Revisions : 5
Подписаться

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация