Код PHP не работал из-за передачи параметра по значению
Пришлось сделать много трассировок (отладчика у меня нет), чтобы узнать, что в PHP все параметры передаются по умолчанию по значению (для передачи по ссылке нужно ставить знак амперсенда):

Я копировал поля, внутри кода они копировались, а в массив наружу не передавались, я как-то затупил на этом моменте, но потом разобрался все же.
Пример применения:
