multidimensional elementos asociativo array agregar php multidimensional-array array-push

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);