Cómo insertar una matriz dinámica multidimensional en la base de datos con mysqli

Tengo la siguiente matriz:

Array
(
    [step1] => 3
    [step2] => Array
        (
            [1] => Array
                (
                    [type] => 2
                    [price] => 312.5
                )

            [0] => Array
                (
                    [type] => 1
                    [price] => 51.5
                )

        )

    [step3] => Array
        (
            [first_name] => Test
            [last_name] => Test
        )

    [step4] => Some answer
)

Que me gustaría insertar en una base de datos. Step2 puede tener tantos elementos como desee el usuario. Como habrás notado, hay diferencias entre las 2 matrices del paso 2. Además, el paso 3 puede tener algunos campos más. Todo esto depende del usuario.

La razón por la que es dinámico es porque un usuario puede administrar campos de entrada de formulario en un tablero.

Traté de hacer un bucle foreach para cada paso para insertar, pero esto no funcionó realmente bien. Lo que me gustaría hacer es lo siguiente: tener una consulta que sea dinámica para que cada campo se pueda insertar en la base de datos. Creo que la forma más fácil de hacer esto es hacer un bucle foreach en el paso 2 para que cada elemento también tenga los otros valores. Mi pregunta es cómo puedo insertar todos los datos de esta matriz multidimensional en una base de datos con mysqli (OOP).

También revisé algunas otras preguntas como esta como:Insertar datos en MySQL desde una matriz multidimensional en php, inserte varias filas a través de una matriz php en mysql, inserte la matriz php en mysql Pero estos no me ayudan. Entoncesimplode() No me va a ayudar. Además, serializar no funcionará, ya que cada campo tiene su propio campo en la base de datos. (Cuando un usuario edita el formulario en los campos del tablero en la base de datos también se cambia)

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta