+ // Check if there are integer values in the parameters
+ $is_int = false;
+ $is_alpha = false;
+ foreach ($value as $single_value) {
+ if (is_int($single_value)) {
+ $is_int = true;
+ }
+
+ // Is any non numeric value present?
+ if (!is_numeric($single_value)) {
+ $is_alpha = true;
+ }
+ }
+
+ // Cast them all in an unique method
+ if ($is_int) {
+ $casted = [];
+ foreach ($value as $single_value) {
+ if ($is_int AND !$is_alpha) {
+ $casted[] = (int)$single_value;
+ } else {
+ $casted[] = (string)$single_value;
+ }
+ }
+ $value = $casted;
+ }
+