Bonjour à tous et merci de me lire

Je souhaite réorganiser intelligemment un array, en espacant de manière homogène les occurences égales, je vous fait un exemple rapide :
Array
(
    [0] => 501
    [1] => 501
    [2] => 501
    [3] => 501
    [4] => 423
    [5] => 423
    [6] => 952
    [7] => 952
)
Cet array, organisé de la manière visée donnerait :
Array
(
    [0] => 501
    [1] => 423
    [2] => 501
    [3] => 952
    [4] => 501
    [5] => 423
    [6] => 501
    [7] => 952
)
Existe t il une fonction permettant cela ou une manière simple d'arriver à un résultat équivalent ?

Merci de m'avoir lu.

Excellente journée à tous !