=$mp;$i--){ $p.=$i; } $array=range($rangeLeft, $rangeRight); // Make an array with every number between e.g. 1117 and 7777 foreach ($array as $k => $v) { if ((preg_match('/['.$p.'0]/',$v) === 0) && (array_sum(str_split($v, 1)) === 10)) { // If number does not contain 8,9 or 0 and sum of all 4 numbers is 10 // Apply function to multiply each number by 10 and add to result array $result[] = array_map("magnitude", str_split($v, 1)); } }