update page now
Laravel Live Japan

Voting

: max(one, two)?
(Example: nine)

The Note You're Voting On

mmulej at gmail dot com
4 years ago
If you don't want to lose duplicates, and you're ok, with having the values in the flipped array in an array as well, you may use this:

PHP 7.4 - ^8

<?php

function array_flip_safe(array $array) : array
{
    return array_reduce(array_keys($array), function ($carry, $key) use (&$array) {
        $carry[$array[$key]] ??= [];
        $carry[$array[$key]][] = $key;
        return $carry;
    }, []);
}

?>

PHP 7.0 - ^7.3 (Time to upgrade to PHP 8 ^^)

<?php

function array_flip_safe(array $array) : array
{
    return array_reduce(array_keys($array), function ($carry, $key) use (&$array) {
        $carry[$array[$key]] = $carry[$array[$key]] ?? [];
        $carry[$array[$key]][] = $key;
        return $carry;
    }, []);
}

?>

PHP 5.4 - ^5.6 (Just don't)

<?php

function array_flip_safe(array $array)
{
    return array_reduce(array_keys($array), function ($carry, $key) use (&$array) {
        if (!isset($carry[$array[$key]])
                $carry[$array[$key]] = [];
        $carry[$array[$key]][] = $key;
        return $carry;
    }, []);
}

?>

<< Back to user notes page

To Top