每第n个具有新键名的键将一维键值数组转换为二维键值数组

我有一个看起来像这样的数组:

enter image description here

我需要将其翻译为:

enter image description here

Some things to know about the $startArray is that it is dynamic based on the amount of people submitted on a form. Each person always has just those three fields though (custom_12, custom_13, custom_14 aka fName, lName, email). So if there were 5 members, the 5th members fName would be the key custom_12-5 in the start array.

I've been looking around on stackoverflow for a question just like this and I was not able to find one. What would be the steps taken and possible array functions or anything else for creating the $endArray ?