multidimensional array waardes vergelijken

Status
Niet open voor verdere reacties.

gertjuhhh1993

Gebruiker
Lid geworden
21 jun 2010
Berichten
127
Dag mensen,

Ik heb een array :
Code:
Array ( 
  [0] => Array ( 
            [host] => google.nl 
            [class] => IN 
            [ttl] => 279310  
            [type] => NS 
            [target] => ns3.google.com ) 
  [1] => Array ( 
            [host] => google.nl 
            [class] => IN 
            [ttl] => 279310 
            [type] => NS 
            [target] => ns4.google.com ) 
  [2] => Array ( 
            [host] => google.nl 
            [class] => IN 
            [ttl] => 279310 
            [type] => NS 
            [target] => ns2.google.com )

deze array word gemaakt met de functie dns_get_record(). Dit is dus per domein een andere hoeveelheid.
hoe kan ik nu bijvoorbeeld de targets met elkaar vergelijken of er de zelfde tussen zitten?

Alvast Bedankt:)
 
Ik denk niet dat je er om heen kunt om een nieuwe array op te zetten.
PHP:
$targets = array();
foreach($array AS $key => $content)
{
    $targets[$key] = $content['target'];
}
print_r(array_diff(array_unique($targets), $array));
 
Wil je simpelweg weten of er een target meerdere keren voorkomt of ook specifiek welke targets meerdere keren voorkomen?
 
Code:
$targets = array();

foreach($array AS $key => $content)
{
    if(in_array($content['target'],$targets) {
       $targets[$content['target']] += 1;
    } else {
       $targets[$content['target']] = 1;
    }
}

Dit stukje code voegt de target toe aan de array als deze nog niet in
de targets array staat. Als hij er al wel in voorkomt dan verhoogt hij
de target alleen.

Nu kun je doormiddel van print_r($targets) precies zien welke targets
voorkomen en hoevaak deze voorkomen.
 
PHP:
// returnt true als er een item is dat meerdere keren voorkomt in de array, anders false
function checkArray($array){
//eerst maak ik een tijdelijke array aan.
$temparray = array();
//dan loop ik de originele array door.
foreach($array as $key => $value){
	//als het de $value niet al in de tijdelijke array staat voegen we hem toe,
	//anders return true omdat we nu weten dat de waarde niet voor de eerste keer voorkomt.
	if(!in_array($value ,$temparray)){
		$temparray[$key] = $value;
	}else{
		return true;
	}
}
//als we geen duplicaten zijn tegengekomen returnen we false.
return false;
}

Ben je bekend met hoe je functies moet gebruiken?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan