= $min && !isset($resultArray[strlen($parentStr)+1])) { $resultArray[strlen($parentStr)+1] = array(); } for ($i = $startCode; $i <= $endCode; $i++) { $str = $parentStr.chr($i); if (strlen($str) >= $min) { array_push(&$resultArray[strlen($str)],$str); } if (strlen($str) < $max) { gen(&$resultArray,$min,$max,$str); } } } function generate($min,$max) { $resultArray = array(); gen(&$resultArray, $min, $max, ""); return $resultArray; } $arr = generate(3, 5); echo "
"; print_r($arr); echo ""; ?>