什么是更好的使用:in_array或array_unique?

use*_*333 12 php arrays array-unique

我怀疑使用什么:

foreach(){
    // .....

    if(!in_array($view, $this->_views[$condition]))
        array_push($this->_views[$condition], $view);

    // ....
}
Run Code Online (Sandbox Code Playgroud)

要么

foreach(){
    // .....

    array_push($this->_views[$condition], $view);

    // ....
}

$this->_views[$condition] = array_unique($this->_views[$condition]);
Run Code Online (Sandbox Code Playgroud)

UPDATE

目标是获得一系列独特的价值观.这可以通过每次检查值是否已存在in_array或每次添加所有值或最终使用时来完成array_unique.那么这两种方式之间有什么重大区别吗?

p91*_*aul 10

我认为第二种方法会更有效率.实际上,array_unique对数组进行排序然后扫描它.

排序以N log N步骤完成,然后扫描需要N步.

第一种方法需要N ^ 2步(foreach元素扫描所有N个前面的元素).在大阵列上,存在很大的差异.