如何获得其近似值的唯一数组

I have an array.

$a = array(
0 => 1,
1 => 1,
2 => 2,
3 => 3,
4 => 1
);

How to get unique array like this?

$result = array_My_unique($a);
print_r($result);

Output:

$a = array(
0 => 1,
1 => 2,
2 => 3,
3 => 1
);

Thank!

Assuming you are trying to avoid duplicates that are immediately next to each other:

function array_my_unique($a = array()) {
    $out = array();
    $curr = false;
    foreach ($a as $v) {
        if ($curr !== $v) {
            $out[] = $v;
        }
        $curr = $v;
    }
    return $out;
}

This satisfies the assertion between input/output that you described in the question.