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?
Mss niet precies wat je zoekt maar het zal je iig op weg helpen :)

<?
# 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 />";
?>
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
<?
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:

<?
$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

<?
print_r($doubles);
?>

dus dit als output geven:

Array ( [1] => 2 [2] => 4 )

Reageren