doujiao1949 2013-02-26 17:57
浏览 25
已采纳

从数组中删除重复的strlen项?

Is this the simplest way there is for getting rid of duplicate strlen items from an array? I do alot of programming that do similar tasks as this, thats why Im asking, if Im doing it too complicated, or if this is the easiest way.

$usedlength = array();
$no_duplicate_filesizes_in_here = array();
foreach ($files as $file) {
    foreach ($usedlength as $length) {
        if (strlen($file) == $length) continue 2;
    }
    $usedlength[] = strlen($file);
    $no_duplicate_filesizes_in_here[] = $file;
}
$files = $no_duplicate_filesizes_in_here;
  • 写回答

4条回答 默认 最新

  • douchen2595 2013-02-26 18:19
    关注

    There's not a lot hugely wrong with looping manually, though your example could be:

    $files = array_intersect_key($files, array_unique(array_map('strlen', $files)));
    

    PHP has a plethora of useful array functions available.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?