Если вы уверены, что оба массива будут содержать одинаковое число, разделенное запятой, используйте это:
Версия 1 (тестирование с 100000 занимает ~ 0,08 с, + -4 раза быстрее)
<?php
$Array1 = "FirstName, LastName, Email";
$Array2 = "John, Doe, johndoe@email.com";
$Array1 = explode(',', preg_replace('/\s*,\s*/',',',$Array1)); //remove spaces before and after comma
$Array2 = explode(',', preg_replace('/\s*,\s*/',',',$Array2));
if(count($Array1) == count($Array2)) {
$result = array_combine($Array1, $Array2);
}
print_r($result);
Выход:
Array (
[FirstName] => John
[LastName] => Doe
[Email] => johndoe@email.com
)
Альтернативная версия от @castis (тестирование с 100000 занимает ~ 0,3 с)
$Array1 = explode(',',$Array1);
$Array2 = explode(',',$Array2);
$result = array_combine(array_map('trim', $Array1), array_map('trim', $Array2));