程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取數組中重復的元素實例教程

PHP獲取數組中重復的元素實例教程

編輯:關於PHP編程

       1.獲取一個數組中重復的元素。代碼如下:

      a.方法一:

    代碼如下  

    function array_repeat($arr)
    {
    if(!is_array($arr)) return $arr;

    $arr1 = array_count_values($arr);

    $newArr = array();

    foreach($arr1 as $k=>$v)
    {
    if($v>1) array_push($newArr,$k);
    }
    return $newArr;
    }

      b.方法二:

    代碼如下  

    function array_repeat($arr)
    {
    if(!is_array($arr)) return $arr;

    $arr1 = array_unique($arr);

    $arr3 = array_diff_key($arr,$arr1);

    return array_unique($arr3);
    }

      測試方法

    代碼如下  

    $arr = array('apple','blue','red','banana','pear','apple','blue','color','color');
    print_r(array_repeat($arr));

    結果: Array ( [5] => apple [6] => blue [8] => color )

      後來代一些刪除數組重復元素的方法

      array_keys函數來刪除數組重復元素。

      */

    代碼如下  

    $a=array("red", "green", "blue", "yellow");
    count($a); //得到4
    unset($a[1]); //刪除第二個元素
    count($a); //得到3
    echo $a[2]; //數組中僅有三個元素,本想得到最後一個元素,但卻得到blue,
    echo $a[1]; //無值

    //array array_splice (array input, int offset [, int length [, array replacement]])
    //array_splice()其實是替換數組元素的函數,但如果不加替換值就簡單的刪除元素.下面是array_splice()的用法:
    $b=array("red", "green", "blue", "yellow");
    array_splice($a,1,1);

      //下面看一個比較全面的刪除重復值並且刪除指定的數組元素

    代碼如下  

    $array1 = array(1 => "www.45it.net", 2 => "菠蘿", 4 => "www.45it.net",3 => "香蕉",4 => "芭樂",5 => "www.45it.net",6 => "www.45it.net");

    $search_keys = array_keys($array1, "www.45it.net");

    foreach($search_keys as $key) {
    unset($array1[$key]);
    }

    print_r($array1);

    /*
    得到結果
    array ( [2] => 菠蘿 [4] => 芭樂 [3] => 香蕉 )
    */

    //刪除數組中重復元素的函數
    function delmember(&$array, $id)
    {
    $size = count($array);
    for($i = 0; $i <$size - $id - 1; $i ++)
    {
    $array[$id + $i] = $array[$id + $i + 1];
    }
    unset($array[$size - 1]);
    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved