Dubbele waarden in array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen

Jeroen

11/08/2004 15:34:00
Quote Anchor link
Hello

Ik zou graag hebben dat enkel de waarden die meer dan 1 keer te voorschijn komen in de array overschieten ...

dus als ik bijvoorbeeld de volgende waarden in een array heb: 4, 2, 4, 3, 1, 5, 2, 4

dat ik dus enkel nog de waarden 4 en 2 overhoud omdat deze meerdere keren voorkomen in de array

heeft iemand enig idee hoe ik dit zou kunnen doen?
 
PHP hulp

PHP hulp

13/01/2025 19:27:03
 
Mitch X

Mitch X

11/08/2004 16:12:00
Quote Anchor link
Mss niet precies wat je zoekt maar het zal je iig op weg helpen :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?
    # Rijtje met getalletjes
    $array = array(1,2,3,2,3,4,3,5,4,4,5,5,5,5,4);
    
    # Hoogste getal zoeken
    for($i=0;$i<=(count($array)-1);$i++)
    {

        if($array[$i] > $num || !$num)
            $num = $array[$i];
    }

    
    # Loopen tot en met he hoogste getal
    for($j=0;$j<=$num;$j++)
    {

        # Teller op 0
        $aantal = 0;
        
        # Loopen door de array
        for($k=0;$k<=(count($array)-1);$k++)
        {

            # Kijken offie uitzelfde is
            if($array[$k] == $j)
                $aantal++;
        }

        
        # Stop de uitkomsten in een array
        $cijfers[$j] = $aantal;
    }

    
    # Uitlezen
    foreach($cijfers as $key => $value)
        echo "\$cijfers[" . $key . "] = " . $value . "<br />";
?>
 
Jeroen

Jeroen

11/08/2004 16:56:00
Quote Anchor link
hmmmm .... ik geraak er niet aan uit,

ik kan nu al achterhalen hoeveel tekstvakken er zijn ingevuld ... nu moet ik enkel nog filteren uit de array

ff in pseudo code opstellen:

$fields = aantal ingevulde tekstvakken

filter uit array
--> waarden die $fields x voorkomen

was het maar zo gemakkelijk :-p iemand enig idee hoe ik dit in werkende php code kan schrijven?

greetz Blackmoon
 
Dutchcamel

dutchcamel

11/08/2004 17:09:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
function get_double($array = array()) {
    $single = array();
    $double = array();
    foreach ($array as $value) {
        $target = !in_array($value, $single) ? 'single' : 'double';
        array_push(${$target}, $value);
    }

    return array_unique($double);
}

?>


Zo gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
$numbers
= array(
    4,
    2,
    4,
    3,
    1,
    5,
    2,
    4
);
$doubles = get_double($numbers);
?>


$doubles is nu een array met de dubbele waarden uit $numbers waarbij een waarde maximaal 1 keer voorkomt. In dit voorbeeld zou

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
print_r($doubles);
?>


dus dit als output geven:

Array ( [1] => 2 [2] => 4 )
Gewijzigd op 11/08/2004 17:21:00 door dutchcamel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.