Skip to content

Instantly share code, notes, and snippets.

@adamcameron
Created October 28, 2021 16:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adamcameron/166618179afcba958a4b0b4d4d40f129 to your computer and use it in GitHub Desktop.
Save adamcameron/166618179afcba958a4b0b4d4d40f129 to your computer and use it in GitHub Desktop.
<?php
function haystackContainsNeedle($haystack, $needle) {
$intersection = array_intersect_assoc($haystack, $needle);
return $intersection == $needle ? 'true' : 'false';
}
$haystack = [
"firstName" => "Adam",
"lastName" => "Cameron",
"role" => "dev"
];
$anyAdamCameron = [
"firstName" => "Adam",
"lastName" => "Cameron"
];
echo haystackContainsNeedle($haystack, $anyAdamCameron) . PHP_EOL; // true
$anyAdam = [
"firstName" => "Adam"
];
echo haystackContainsNeedle($haystack, $anyAdam) . PHP_EOL; // true
$someOtherCameron = [
"firstName" => "Donald",
"lastName" => "Cameron"
];
echo haystackContainsNeedle($haystack, $someOtherCameron) . PHP_EOL; // false
$someOtherAdamCameron = [
"firstName" => "Adam",
"lastName" => "Cameron",
"role" => "Ficticious soap opera character" // false
];
echo haystackContainsNeedle($haystack, $someOtherAdamCameron) . PHP_EOL;
$orderCheck = [
"lastName" => "Cameron",
"firstName" => "Adam"
];
echo haystackContainsNeedle($haystack, $orderCheck) . PHP_EOL; // TRUE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment