Хранить ключи массива в переменной с циклом foreach PHP - PullRequest
1 голос
/ 23 мая 2019

При сохранении в массиве цен и идентификаторов товара с этим кодом ...

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

Результатом $ values_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 ... ... ...

В результате я хочу, чтобы идентификаторы статьи были ключами массива.

Я хочу это:

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

Ответы [ 3 ]

3 голосов
/ 23 мая 2019

проблема с вашим кодом заключается в добавлении его в другой массив.

$ Prices_and_ids [$ article-> 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,
                )
            ); 
        }
    }
0 голосов
/ 23 мая 2019

Измените ваше тело foreach как следующий код

$prices_and_ids[$article->article_erp_id] = array(
    'price_pvp'       => $article->price_pvp,
    'price_promotion' => $article->price_promotion,
);
0 голосов
/ 23 мая 2019

Вместо $ values_and_ids [] вы должны использовать $ values_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,
                );

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...