У тебя не должно быть несколько отдельных массивов. В худшем случае должен быть массив с вложенными массивами. В остальном ни малейших проблем
$all = array('one' =>(
[0] => value,
[1] => value1,
[2] => value2,
),
'two' => (
[0] => value3,
[1] => value4,
[2] => value5,
).
'three' => (
[0] => value5,
[1] => value7,
[2] => value8,
),
'four' => (
[0] => value9,
[1] => value10,
[2] => value11,
));
$sql = 'INSERT INTO myarr ( one, two, three, four)'
. 'VALUES (?, ?, ?, ?)';
//Нашёл что в pdo массив можно записать через цикл foreach и транзакцию.
$stmt = $db->prepare($sql);
$db->beginTransaction();
foreach ($all as $i =>$one){
$stmt->execute([$one, $all['two'][$i],$all['three'][$i],$all['four'][$i]]);
}
$db->commit();
Это при твоей кривой организации массивов
с нормальным массивом будет
foreach ($all as $row){
$stmt->execute($row);
}