Если значения в $types
уникальны, вы можете сделать это:
$combined = array_combine($types, $numbers);
Это даст:
[
'a' => 1,
'b' => 2,
'c' => 3,
]
Который вы можете затем повторить с:
foreach ($combined as $type => $number)
Или просто:
foreach (array_combine($types, $numbers) as $type => $number)
Если значения в $types
не являются уникальными, вы можете сделать это:
$combined = array_map(function($a, $b) { return [$a, $b]; }, $types, $numbers);