@Veokkaril

Как результат foreach поместить в переменную?

Здравствуйте, подскажите пожалуйста, как добиться следующего результата
Получаю данные через foreach и пытаюсь записать в переменную

$order = wc_get_order($order_id);
foreach ($order->get_items() as $item_key => $item ):
 
    $product      = $item->get_product(); 
    $item_data    = $item->get_data();
    
    $product_sku    = $product->get_sku();
    $product_name   = $product->get_name();
    $quantity     =  $item_data['quantity'];
    $product_price  = $product->get_price();
    
    
    $itemstest[] = $product_sku . " - " . $product_name . " - " . $quantity . " - " . $product_price;
 
endforeach;
 
echo '<pre>';
print_r($itemstest);
echo '</pre>';


Получаю вывод в таком формате

Array
(
    [0] => артикул1 - Название первого товара - 1 - 150
    [1] => артикул2 - Название второго товара - 1 - 200
)


А мне нужно в таком формате

"items" => [
array(
    "item_sku" => "артикул1",
    "item_title" => "Название первого товара",
    "item_quantity" => "1",
    "item_price" => "150"
),
array(
    "item_sku" => "артикул2",
    "item_title" => "Название второго товара",
    "item_quantity" => "1",
    "item_price" => "200"
)
]
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
kawabanga
@kawabanga
$itemstest[] = [
                'item_sku' => $product->get_sku(),
                'item_title' => $product->get_name(),
                'item_quantity' =>  $item_data['quantity'],
                'item_price' => $product->get_price()
            ];
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
А что мешает вместо $itemstest[] = ......
делать
$itemstest .= "array(\n
    \"item_sku\" => \"{$product_sku}\",\n
    \"item_title\" => \"{$product_name}\",\n
    \"item_quantity\" => \"{$quantity}\",\n
    \"item_price\" => \"{$product_price}\",\n
),\n";
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы