Php 从数组中获取唯一的顶级值

Php 从数组中获取唯一的顶级值,php,arrays,Php,Arrays,这是我的对象数组: $prob[] = (object) array( "value" => ($pos_Count + 1)/ ($totalPOS_count + $distinct_pos_Count), "tag" => $row1['tag'], ); 在这里,我排序并回显前5个值数组值 uasort ($prob,

这是我的对象数组:

$prob[] = (object) array(
                        "value" => ($pos_Count + 1)/ ($totalPOS_count + $distinct_pos_Count),
                        "tag"   => $row1['tag'],
                        );
在这里,我排序并回显前5个值数组值

    uasort ($prob, function($a, $b) {
    if ($a->value == $b->value) {
            return 0;
        }
        return ($a->value < $b->value) ? 1 : -1;
    });

    $prob = array_slice($prob, 0, 5);
    foreach ($prob as $array)
    {
        echo "Tag :". $array->tag." Probablity :".$array->value."<br/>";
    }
它应该打印带有其值的不同标记。而不是打印两次相同的标签,因为它是在这里做的设计和服务

这是正确的:

Tag :articles Probablity :0.0022321428571429
Tag :Fun Probablity :0.0012771392081737
Tag :Facebook Probablity :0.0012771392081737
Tag :delivery Probablity :0.0012771392081737
Tag :Supplier Probablity :0.0012771392081737

因此,我如何在此处仅回显不同的前5个标记/

这将替换阵列切片以仅获取唯一的标记:

$prob[] = (object) array("value" => "DISPLAY ME", "tag" => 1,);
$prob[] = (object) array("value" => "DO NOT DISPLAY ME","tag" => 1,);
$prob[] = (object) array("value" => "DISPLAY ME","tag"   => 2,);
$new_prob = array();
$count = 0;
foreach ($prob as $array) {
    if (!array_key_exists($array->tag, $new_prob)) {
        $new_prob[$array->tag] = $array->value;
        if (++$count == 5) { // Number of unique elements to keep
            break;
        }
    }
}

foreach ($new_prob as $key => $value) {
    echo "Tag :". $key." Probablity :".$value."<br/>";
}
$prob[] = (object) array("value" => "DISPLAY ME", "tag" => 1,);
$prob[] = (object) array("value" => "DO NOT DISPLAY ME","tag" => 1,);
$prob[] = (object) array("value" => "DISPLAY ME","tag"   => 2,);
$new_prob = array();
$count = 0;
foreach ($prob as $array) {
    if (!array_key_exists($array->tag, $new_prob)) {
        $new_prob[$array->tag] = $array->value;
        if (++$count == 5) { // Number of unique elements to keep
            break;
        }
    }
}

foreach ($new_prob as $key => $value) {
    echo "Tag :". $key." Probablity :".$value."<br/>";
}
Tag :1 Probablity :DISPLAY ME
Tag :2 Probablity :DISPLAY ME