for循环 php 增加数组维数_PHP使用array_push向多维数组添加元素

I have a multidimensional array $md_array and I want to add more elements to the sub-arrays recipe_type and cuisine coming from a loop that reads data from a table.

In the loop, I create a new table $newdata for each row:

$newdata = array (

'wpseo_title' => 'test',

'wpseo_desc' => 'test',

'wpseo_metakey' => 'test'

);

and then, using array_push() I need to append the $newdata arrays to the following multidimensional array:

$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' => ''

)

)

);

Whats the syntax for adding a new element (array) to the recipe_type array with array_push? I could never get my head around multidimensional arrays and I'm a bit confused.

解决方案

if you want to add the data in the increment order inside your associative array you can do this:

$newdata = array (

'wpseo_title' => 'test',

'wpseo_desc' => 'test',

'wpseo_metakey' => 'test'

);

// for recipe

$md_array["recipe_type"][] = $newdata;

//for cuisine

$md_array["cuisine"][] = $newdata;

this will get added to the recipe or cuisine depending on what was the last index.

Array push is usually used in the array when you have sequential index: $arr[0] , $ar[1].. you cannot use it in associative array directly. But since your sub array is had this kind of index you can still use it like this

array_push($md_array["cuisine"],$newdata);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值