How to get unique value in multidimensional array

六月ゝ 毕业季﹏ 提交于 2019-11-27 07:06:36

Seems pretty simple: extract all pid values into their own array, run it through array_unique:

$uniquePids = array_unique(array_map(function ($i) { return $i['pid']; }, $holder));

The same thing in longhand:

$pids = array();
foreach ($holder as $h) {
    $pids[] = $h['pid'];
}
$uniquePids = array_unique($pids);

In php >= 5.5 you can use array_column:

array_unique(array_column($holder, 'pid'));

try this

foreach($arr as $key => $val) {
    $new_arr[] = $val['pid'];
}
$uniq_arr = array_unique($new_arr);

Just iterate over it and apply an array_unique on the result:

foreach($holder as $yourValues){
    $pids[] = $yourValues['pid'];
}
$yourUniquePids = array_unique($pids);

Assuming your array is called $holder:

$unique = array();
foreach( $holder as $h )
    if( ! in_array($h, $unique ) )
        $unique[] = $h;

is a slightly more efficient way than via array_unique, I believe. May be the same.

Hi Please try code given below for get unique values and then sort that values

<?php

$sort_arr = unique_sort($holder, 'pid');
echo "<pre>";
print_r($sort_arr);
echo"</pre>";

/*function for get unique value then sort them*/

function unique_sort($arrs, $id) {
    $unique_arr = array();
    foreach ($arrs AS $arr) {

        if (!in_array($arr[$id], $unique_arr)) {
            $unique_arr[] = $arr[$id];
        }
    }
    sort($unique_arr);
    return $unique_arr;
}

thanks

fo my situation i use this method

//get some data from db to array
while ($row = mysqli_fetch_assoc($query)){
   $data[] = $row;
}

//display unique value
echo "<table>";
$uniq = array();
foreach ($data as $row) {
    if(!in_array($row['path'], $uniq)) {
        $uniq[] = $row['path'];
        echo "<tr>";
        echo "<td>";
        echo $row['path'];
        echo "</td>";
        echo "<td>";
        echo $row['relationship_id'];
        echo "</td>";
        echo "</tr>";
    }
}
echo "</table>";
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!