在搜索方法的多维数组中查找重复值

时间:2017-11-22 08:37:21

标签: php arrays multidimensional-array

我的代码是:

$data = array();
foreach ($table as $key => $var) {
    $data[] = ['id' => $var->id, 'value' => $var->designation];
}

我的数据数组应该是这样的

array (
    0 => array (
        'id' => 27,
        'value' => 'laravel',
    ),
    1 => array (
        'id' => 1,
        'value' => 'laravel tester',
    ),
    2 => array (
        'id' => 22,
        'value' => 'laravel developer',
    ),
    3 => array (
        'id' => 23,
        'value' => 'laravel casts',
    ),
    4 => array (
        'id' => 24,
        'value' => 'laravel developer',
    ),
)  

我只需要一个值我尝试了所有php核心库函数输出:

array (
    0 => 
  array (
        'id' => 27,
        'value' => 'laravel',
    ),
    1 => array (
        'id' => 1,
        'value' => 'laravel tester',
    ),
    2 => array (
        'id' => 23,
        'value' => 'laravel casts',
    ),
    3 => array (
        'id' => 24,
        'value' => 'laravel developer',
    ),
)   

根据名称,我只需要在搜索栏中删除重复的bacause,它会显示重复模式。

1 个答案:

答案 0 :(得分:0)

您可以使用array_unique,保存索引,并通过array_intersect_key获取结果

$temp = array_unique(array_column($arr, 'value'));
$res = array_intersect_key($arr, $temp);
print_r($res);