PHP's in_array is useful to determine if an item is in an array but when needing to compare multiple values against in_array no results will be found.
A way round this is to loop through the values and compare each one in turn, this function is pefect that that task:
function isInArray($needle, $haystack)
{
foreach ($needle as $stack) {
if (in_array($stack, $haystack)) {
return true;
}
}
return false;
}
This function expects 2 arrays to be passed, it will then loop through the keys and compare them. If no matches are found false is returned.
A quick demo
Here are two arrays, the exclude array is a list of people to exclude.
$people = array(
'Dave',
'Emma',
'Terry',
'Cath'
);
$exclude = array(
'emma'
);
Using array_map we can make all items lowercase so case sensativity does not get in the way.
$people = array_map('strtolower', $people);
$exclude = array_map('strtolower', $exclude);
Check if any person from the excludes array is in the people array.
if(isInArray($exclude, $people) == true){
echo 'people from excludes are in the array $people';
} else {
echo 'no exclusions';
}
Putting it together
function isInArray($needle, $haystack)
{
foreach ($needle as $stack) {
if (in_array($stack, $haystack)) {
return true;
}
}
return false;
}
$people = array(
'Dave',
'Emma',
'Terry',
'Cath'
);
$exclude = array(
'emma'
);
$people = array_map('strtolower', $people);
$exclude = array_map('strtolower', $exclude);
if(isInArray($exclude, $people) == true){
echo 'people from excludes are in the array $people';
} else {
echo 'no exclusions';
}
David Carr
For the past 12 years, I’ve been developing applications for the web using mostly PHP. I do this for a living and love what I do as every day there is something new and exciting to learn.
In my spare time, the web development community is a big part of my life. Whether managing online programming groups and blogs or attending a conference, I find keeping involved helps me stay up to date. This is also my chance to give back to the community that helped me get started, a place I am proud to be apart of.
Besides programming I love spending time with friends and family and can often be found together going out catching the latest movie, staying in playing games on the sofa or planning a trip to someplace I’ve never been before.