繁体   English   中英

使用foreach循环PHP将数组键存储在变量中

[英]Store array keys in variable with foreach loop PHP

在数组中保存产品的价格和ID时,使用此代码...

foreach($resource->group->tabs as $tab) {

                foreach($tab->articles as $article) 
                {
                    $prices_and_ids[] = array(
                        $article->article_erp_id => array(
                            'price_pvp'       => $article->price_pvp,
                            'price_promotion' => $article->price_promotion,
                        )
                    ); 
                }
            }

使用此代码的$ prices_and_ids的结果是一个对象,其编号为:

array:10 [▼
  0 => array:1 [▼
    3140 => array:2 [▼
      "price_pvp" => 6.5
      "price_promotion" => 5.53
    ]
  ]
  1 => array:1 [▼
    3141 => array:2 [▼
      "price_pvp" => 7.5
      "price_promotion" => 6.37
    ]
  ]
  2 ... ... ...

我想要的结果是文章ID是数组的键。

我要这个:

array:10 [▼
  3140 => array:1 [▼
      "price_pvp" => 6.5
      "price_promotion" => 5.53
  ]
  3141 => array:1 [▼
      "price_pvp" => 7.5
      "price_promotion" => 6.37
  ] ... ... ...

你的代码的问题是你在另一个数组中添加它做到这一点

$ prices_and_ids [$物品─> article_erp_id]

代替

$ prices_and_ids []

foreach($resource->group->tabs as $tab) {
 foreach($tab->articles as $article) 
        {
            $prices_and_ids[$article->article_erp_id] = array(
                $article->article_erp_id => array(
                    'price_pvp'       => $article->price_pvp,
                    'price_promotion' => $article->price_promotion,
                )
            ); 
        }
    }

而不是$ prices_and_ids []你应该使用$ prices_and_ids [$ article-> article_erp_id]

foreach($resource->group->tabs as $tab) {

        foreach($tab->articles as $article) 
        {
            $prices_and_ids[$article->article_erp_id] array(
                    'price_pvp'       => $article->price_pvp,
                    'price_promotion' => $article->price_promotion,
                );

        }
    }

按照以下代码更改您的foreach正文

$prices_and_ids[$article->article_erp_id] = array(
    'price_pvp'       => $article->price_pvp,
    'price_promotion' => $article->price_promotion,
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM