hallo,

zoals tittel al zegt ik heb een array $inrange die bevatten postcode na een berekening van afstand

nu moet ik deze vergelijken met een 2dimensionale array waarin installateursID en een postcode in zitten de instalateur die matchen met postcodes inrange moeten getoond worden ( de id's van deze installateurs)

maar geraak er niet uit
// gemaakte arrays
$inrange = array()
$postcodesinstallateur = array(array());


// vul de array in
$postcodesinstallateur[][0] = $showinstal2[0]; 
$postcodesinstallateur[][1] = $showinstal2[1];


dacht aan zo iets
		foreach($inrange as $match)
		{
		
		if(in_array($match, $postcodeinstallateur))
		
		$resultinrange.....
		
		}


Alvast bedankt
Kun je een paar voorbeeld array's geven met daarin wat gegevens?
$inrange = array(9150, 7210, 2800, 9180);

// aray(postcode,installateurID)

$postcodeinstallateur = array(array(9150, 23),array(2700, 14),array(9180,45));


dan zou na vergelijking alleen nog moete bekomen installateurid 23 en 45
<?

$result = array();


foreach($postcodeinstallateur as $data){

if(in_array($data[0], $inrange)){

$result[] = $data[1];
}
}

?>

Ik vindt je opbouw alleen een beetje raar.

<?php

$postcodeinstallateur = array(23 => 9150, 14 => 2700, 45 => 9180);

?>

Lijkt me een stuk overzichtelijker.
ooh ja idd maar was maar een voorbeeld :-) het script vult de arrays toch in dus die zie ik niet

ik was dus niet ver weg van oplossingen eens testen

bedankt
Kan dit niet gemakkelijker met array_intersect of array_intersect_uassoc?
ik krijg daar nog volgende warning op en result is leeg

Warning: Invalid argument supplied for foreach() in /home/domotica/domains/domus.md-design.be/public_html/domoticamodel.php on line 855

Edit : typefoutje nog in al weg :-)



[size=xsmall]Toevoeging op 09/05/2011 13:51:08:[/size]

die array result blijft leeg ? ik heb net al mijn arrays getest of er waardes in staan en alles word correct aangevuld
Kees Schepers op 09/05/2011 13:03:31

Kan dit niet gemakkelijker met array_intersect of array_intersect_uassoc?


Werkt inderdaad zeer netjes.

<?php
$arr1 = array(23 => 9150, 14 => 2700, 45 => 9180, 89 => 9150);
$arr2 = array(9150, 7210, 2800, 9180);

print_r(array_intersect($arr1, $arr2));
?>

Geeft:
Array (
[23] => 9150
[45] => 9180
[89] => 9150
)
ik krijg nog steeds leeg resultaat met array_intersect ook


hoe maak ik mijn array aan dan ? ik had $postcodesinstallateur = aray(array(); moet gevuld worden met $showinstal2[1] als id en $showinstal2[0] als postcode
Zie mijn post. Zo moet je de array's vullen. Het id is de key en de postcode is de value. Het andere array heeft alleen value's en die keys zijn niet belangrijk.
hoe bedoel je ? ik vul zo en word ook gevuld maar resultaat blijft leeg en toch moet er een match zijn

$postcodesinstallateur[][0] = $showinstal2[1];
$postcodesinstallateur[][1] = $showinstal2[0];

ik moet uiteindelijk ook alleen id als resultaat hebben want dit moet nog eens in een query om de naam van installateur op te roepen

Reageren