add to array if it isn't there already

前端 未结 14 1269
北海茫月
北海茫月 2020-12-13 07:53

How do I add elements to an array only if they aren\'t in there already? I have the following:

$a=array();
// organize the array
foreach($array as $k=>$v)         


        
14条回答
  •  眼角桃花
    2020-12-13 08:39

    Taking Gumbo's idea, making the code work:

    $array = array('111111','222222','3333333','4444','5555', 
    'AAAAAA', 'BBBBBB', 'CCC', 'DDDDDDD', 'EEEEEEEE', 'FFFFFF', 'GGG',
    'AAAAAA', 'BBBBBB', 'CCC', 'DDDDDDD', 'EEEEEEEE', 'FFFFFF', 'GGG',
    '222222', 
    '666666', '777777', 'HHHH');
    
    print_r($array);
    
    $keys= array();
    foreach ($array as $k => $v){
        if (isset($v['value'])) {
            $keys[$v] = $k;
        }
    }
    $unique = array();
    foreach ($keys as $key) {
        $unique[] = $array[$key];
    }
    print "

    "; print_r($unique);

    Gives this:

    Array
    (
        [0] => 111111
        [1] => 222222
        [2] => 3333333
        [3] => 4444
        [4] => 5555
        [5] => AAAAAA
        [6] => BBBBBB
        [7] => CCC
        [8] => DDDDDDD
        [9] => EEEEEEEE
        [10] => FFFFFF
        [11] => GGG
        [12] => AAAAAA
        [13] => BBBBBB
        [14] => CCC
        [15] => DDDDDDD
        [16] => EEEEEEEE
        [17] => FFFFFF
        [18] => GGG
        [19] => 222222
        [20] => 666666
        [21] => 777777
        [22] => HHHH
    )
    
    Array
    (
        [0] => 111111
        [1] => 222222
        [2] => 3333333
        [3] => 4444
        [4] => 5555
        [5] => AAAAAA
        [6] => BBBBBB
        [7] => CCC
        [8] => DDDDDDD
        [9] => EEEEEEEE
        [10] => FFFFFF
        [11] => GGG
        [12] => 666666
        [13] => 777777
        [14] => HHHH
    )
    

提交回复
热议问题