public static function isAssociative($array, $allStrings = true)
{
if (!is_array($array) || empty($array)) {
return false;
}
if ($allStrings) {
foreach ($array as $key => $value) {
if (!is_string($key)) {
return false;
}
}
return true;
} else {
foreach ($array as $key => $value) {
if (is_string($key)) {
return true;
}
}
return false;
}
}
/** * @param string|array $paramValue ['email' => 'name'] or 'email' * @param string $paramType sendGrid var name like cc, bcc, to */ private function addSingleParam($paramValue, $paramType) { $addFunction = 'add' . ucfirst($paramType); if (is_array($paramValue) && BaseArrayHelper::isAssociative($paramValue)) { $this->sendGridMessage->{$addFunction}(key($paramValue), current($paramValue)); } else { $this->sendGridMessage->{$addFunction}($paramValue); } }