PHP - несколько значений в объекте

Я использую API eBay, и все работает нормально:

$request->itemFilter[] = new FTypes\ItemFilter([
   'name' => 'Seller',
   'value' => ['seller1'],
   'value' => ['seller2'],
]);

У меня есть множество продавцов, как я могу заполнить ими объект?

Например, это не работает:

$request->itemFilter[] = new FTypes\ItemFilter([
   'name' => 'Seller',

   foreach($sellers as $seller) {
     'value' => [$seller],
   }

]);

Я получаю непредвиденную ошибку foreach.

у вас не может быть контрольной структуры (foreach) внутри определения массива ([])

Jeff 13.03.2018 13:06

и наличие дважды одного и того же ключа ('value') в одном массиве также не сработает!

Jeff 13.03.2018 13:07

продавец2 переопределить продавца1?

enno.void 13.03.2018 13:07

поэтому сначала создайте массив, а затем передайте его в ItemFilter

Jeff 13.03.2018 13:08

@jeff, возможно, вы имеете в виду ключевое "значение"

ikdekker 13.03.2018 13:08

@ikdekker конечно .... ой и спасибо

Jeff 13.03.2018 13:08

Удар в темноту… ['name' => 'Seller', 'value' => $sellers]… !?

deceze 13.03.2018 13:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
7
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Массив, который вы указали, неверен, сделайте его таким массивом

$request->itemFilter[] = new FTypes\ItemFilter([
   'name' => 'Seller',
   'value' => ['seller1','seller2'],
]);

И вы можете сделать это с

Пока вам не нужно получить конкретное значение от $sellers, этот цикл не нужен, вы можете использовать $sellers напрямую

/* 
$value = array();
foreach($sellers as $seller) {
  $value[] = $seller;
}
*/

Или вы можете использовать array_values ​​(); to возвращает все значения из массива и индексирует массив численно.

$value = array_values($sellers);

$request->itemFilter[] = new FTypes\ItemFilter([
   'name' => 'Seller',
   'value' => $value,
]);

Этот цикл совершенно лишний, он просто воссоздает массив $sellers. Единственный раз, когда он мог бы что-нибудь сделать, - это если бы клавиши не были постоянно числовыми, и в этом случае array_values был бы более полезным.

deceze 13.03.2018 13:23

Другие вопросы по теме