/*
This program extracts all integer values from a mixed string
and sorts them using the language's built‑in array sorting mechanism.
It demonstrates:
- clear separation of concerns using functions
- efficient number extraction using regular expressions
- dynamic storage using arrays
- fast sorting with sort()
*/
/* ------------------------------------------------------------
Extract all integer values from a mixed string.
Uses a regular expression to find digit sequences.
------------------------------------------------------------ */
function extractNumbers(string $input): array
{
$matches = [];
// Find all sequences of digits in the string
preg_match_all('/\d+/', $input, $matches);
// Convert each match to an integer
return array_map('intval', $matches[0]);
}
/* ------------------------------------------------------------
Print all numbers in a space‑separated format.
------------------------------------------------------------ */
function printNumbers(array $numbers): void
{
echo implode(' ', $numbers) . PHP_EOL;
}
/* ------------------------------------------------------------
Main
------------------------------------------------------------ */
$input = "1000withz7 and3 or 99 give42";
// extract numbers
$numbers = extractNumbers($input);
// sort numbers
sort($numbers);
// display result
echo "Sorted numbers: ";
printNumbers($numbers);
/*
run:
Sorted numbers: 3 7 42 99 1000
*/