19. oktober 2013 - 23:32
Der er
1 kommentar
Tjek om data fra en array er i en anden array
Jeg har en bruger array som ser ud som følger: Array ( [0] => Array ( [id] => 1 [navn] => Niels [by] => Århus ) [1] => Array ( [id] => 2 [navn] => Martin [by] => Odense ) [2] => Array ( [id] => 3 [navn] => Christian [by] => Herning ) .... osv ) Derud over har jeg en array, med nogle udvalgte byer: Array ( [0] => Array ( [by] => Århus ) [1] => Array ( [by] => Odense ) ) Jeg vil gerne lave et tjek, om byerne i array 2 er i array 1. Så hvis en af brugerne bpr i byen. Vil byen blive skrevet med rødt. Lige pt udskriver jeg bruger data med en foreach lykke, og prøver at finde match med in_array(). Det virker bare ikke. Jeg har gjort følgende if(in_array($arrayet['by'], $arrayto)){}
Annonceindlæg fra HPE
20. oktober 2013 - 01:30
#1
Det maa kunne goeres paa mange maader, men her er en: <?php function all_in($needle, $haystack, $key) { return count(array_uintersect($needle, $haystack, function($v1, $v2) use($key) { return $v1[$key] == $v2[$key] ? 0 : 1; })) == count($needle); } function test($needle, $haystack) { if(all_in($needle, $haystack, 'by')) { echo "Found\r\n"; } else { echo "Not found\r\n"; } } $haystack = array(array('id' => 1, 'navn' => 'Niels', 'by' => 'Århus'), array('id' => 2, 'navn' => 'Martin', 'by' => 'Odense'), array ('id' => 3, 'navn' => 'Christian', 'by' => 'Herning')); $needle1 = array(array ('by' => 'Århus'), array ('by' => 'Odense')); $needle2 = array(array ('by' => 'Århus'), array ('by' => 'Esbjerg')); test($needle1, $haystack); test($needle2, $haystack); ?>