elementos - array push multidimensional php
PHP agrega elementos a una matriz multidimensional con array_push (2)
Como en la matriz multidimensional una entrada es otra matriz, especifique el índice de ese valor para array_push:
array_push($md_array[''recipe_type''], $newdata);
Tengo una matriz multidimensional $ md_array y quiero agregar más elementos a los sub-arrays recipe_type y cuisine provenientes de un ciclo que lee datos de una tabla.
En el ciclo, creo una nueva tabla $ newdata para cada fila:
$newdata = array (
''wpseo_title'' => ''test'',
''wpseo_desc'' => ''test'',
''wpseo_metakey'' => ''test''
);
y luego, usando array_push()
necesito agregar las matrices $ newdata a la siguiente matriz multidimensional:
$md_array= array (
''recipe_type'' =>
array (
18 =>
array (
''wpseo_title'' => ''Salads'',
''wpseo_desc'' => ''Hundreads of recipes for Salads'',
''wpseo_metakey'' => ''''
),
19 =>
array (
''wpseo_title'' => ''Main dishes'',
''wpseo_desc'' => ''Hundreads of recipes for Main dishes'',
''wpseo_metakey'' => ''''
)
),
''cuisine'' =>
array (
22 =>
array (
''wpseo_title'' => ''Italian'',
''wpseo_desc'' => ''Secrets from Sicily in a click'',
''wpseo_metakey'' => ''''
),
23 =>
array (
''wpseo_title'' => ''Chinese'',
''wpseo_desc'' => ''Oriental dishes were never this easy to make'',
''wpseo_metakey'' => ''''
),
24 =>
array (
''wpseo_title'' => ''Greek'',
''wpseo_desc'' => ''Traditional Greek flavors in easy to make recipies'',
''wpseo_metakey'' => ''''
)
)
);
¿Cuál es la sintaxis para agregar un nuevo elemento (matriz) a la matriz recipe_type con array_push? Nunca pude entender las matrices multidimensionales y estoy un poco confundido.
si desea agregar los datos en el orden de incremento dentro de su matriz asociativa, puede hacer esto:
$newdata = array (
''wpseo_title'' => ''test'',
''wpseo_desc'' => ''test'',
''wpseo_metakey'' => ''test''
);
// for recipe
$md_array["recipe_type"][] = $newdata;
//for cuisine
$md_array["cuisine"][] = $newdata;
esto se agregará a la receta o a la cocina según el último índice.
La inserción de matriz generalmente se usa en la matriz cuando tiene un índice secuencial: $ arr [0], $ ar [1] ... no puede usarlo directamente en una matriz asociativa. Pero como tu matriz secundaria tiene este tipo de índice, puedes usarlo así
array_push($md_array["cuisine"],$newdata);