dtf24224 2014-11-23 12:40
浏览 15
已采纳

避免在php中创建重复的对象

Is there any way to avoid creates duplicate object name without using loop?

$venue = array();

if(loop for checking duplicate OBJ){
        $temp = some_var which fetch from database;

        //If it's not a duplicate object, creates new object 
        $venue["$temp"] = new Venue($temp);
        $venue["$temp"]->do something;
    }
    else{
        //If it's a duplicate object, don't creates new object
        $venue["$temp"]->do something;
    }

I'm trying to check duplicate object name("name") by using loop like this:

//checks name of each object in venue's array that Is it duplicate?

for($itr = 0;$itr < $count($venue);$itr+=1){
        if($venue["$temp"]->name === $name){ 
            return true; //If it's a duplicate object name return true
        }
}

The problem is when I using this loop to check, It consume a lot of time to finish the work

  • 写回答

1条回答 默认 最新

  • douzhang6646 2014-11-23 12:58
    关注

    An easy way of doing this is to use another array to collect all names as array keys:

    $allNames[$venue["$temp"]->name] = null; 
    

    Then check if it's a duplicate object name by using:

    array_key_exists($allNames, $name);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计
  • ¥15 路易威登官网 里边的参数逆向
  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入