dongsu3138 2015-01-16 20:19
浏览 40
已采纳

获得具有不同值的数组的更优雅方式

I have this array:

$array[] = [
      'a' => $a,
      'b' => $b,
];

The array contains of let's say 10 entries, $a can be in there with the same value many times and I need only one of those entries for a db insert.

I can't manage to get array_unique working as it throws

 array to string conversion

error when trying to use it like

 $result = array_unique($array);

I now made a little foreach loop that feels just wrong to do so:

    $z = [];
    foreach ($array as $x) {

        if (@!in_array($x['a'],$z)) {
            $z[] = $x['a'];
        }
    }

and I use $z for the insert thereafter.

Can someone point me in the right direction of how to distinct my array values?

  • 写回答

3条回答 默认 最新

  • dourong9253 2015-01-16 20:21
    关注

    This should work for you:

    ($result = array_unique($array); this didn't worked, because you have a multidimensional array!)

    <?php
    
    
        //Example data
        $array[] = [
              'a' => 1,
              'b' => 1,
              'c' => 1,
              'd' => 2,
              'e' => 2,
    
        ];
    
        $array = array_map("array_unique", $array);
        print_r($array);
    
    ?>
    

    Output:

    Array ( [0] => Array ( [a] => 1 [d] => 2 ) )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 为什么apriori的运行时间会比fp growth的运行时间短呢
  • ¥15 帮我解决一下膳食平衡的线性规划模型的数据实例
  • ¥40 万年历缺少农历,需要和阳历同时显示
  • ¥250 雷电模拟器内存穿透、寻基址和特征码的教学
  • ¥200 比特币ord程序wallet_constructor.rs文件支持一次性铸造1000个代币,并将它们分配到40个UTXO上(每个UTXO上分配25个代币),并设置找零地址
  • ¥15 关于Java的学习问题
  • ¥15 如何使用chatgpt完成文本分类任务?
  • ¥15 已知速度v关于位置s的等式,怎么转化为已知位置求速度v的等式
  • ¥15 我有个餐饮系统,用wampserver把环境配置好了,但是后端的网页却进去,是为什么,能不能帮远程一下?
  • ¥15 R运行没有名称为"species"的插槽对于此对象类"SDMmodelCV"