php判斷數組是否全部相同方法詳解

來源:互聯網
上載者:User
  1. //偽造有100000個數組元素的數組,第一個數組元素為1,後面的99999個都為0
  2. for($i=0;$i<100000;$i++){
  3. if($i==1)
  4. array_push($array,1);
  5. else
  6. array_push($array,0);
  7. }
  8. //第一種用迴圈方法
  9. $len=count($array);
  10. for ($i=0; $i <$len ; $i++) {
  11. if($array[$i]!=$array[$i+1]){
  12. break;
  13. }
  14. }
  15. // 耗時:Processed in 0.144372 second(s).
複製代碼

藉助php中的array_count_values()去完成

  1. if(count(array_count_values($array))!=1){
  2. echo "用php中技巧方法跑:push";
  3. }
  4. //Processed in 0.133642 second(s).
複製代碼

因為構造的數組第一個為1,後面99999都為0,再次構造一個前面99999個都為1,最後一個為0,作為一個迴圈最多次和最少次的比較,再看二者已耗用時間:此時,

//利用迴圈的方法所用時間:Processed in 0.211106 second(s).//利用array_count_values方法所用時間:Processed in 0.135076 second(s).當只需要進行一次判斷時,二者的方法所耗時間相差無幾,但利用array_count_values仍要快一些。但是當我們進行最多次比較,把不同的那個數組元素放在數組尾,這時後者所用時間幾乎是前者的一半。

array_count_values()是個什麼函數:php中用c語言內建寫了一個array_count_values()的方法,此法用來判斷每個數組元素出現的次數,例如數組元素有1,1,2,那麼返回:列印結果:array(2) { [1]=> int(2) [2]=> int(1) }1出現了兩次,2出現了1次。此時再判斷數組元素有幾個,如果不是1個,那就肯定有相同的。

多用內建方法,不管哪門語言,高手的寫法一般更高效。當然,可能也有例外。用php來寫程式時,還是覺得內建函數的效率比較高。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.