За последние 24 часа нас посетили 22028 программистов и 989 роботов. Сейчас ищут 618 программистов ...

вопрос о foreach

Тема в разделе "PHP для новичков", создана пользователем Shmelx, 22 окт 2020.

  1. Shmelx

    Shmelx Новичок

    С нами с:
    22 окт 2020
    Сообщения:
    1
    Симпатии:
    0
    Доброе время суток, подскажите пожалуйста, не могу уже 2ой день решить вопрос с foreach в json'e

    PHP:
    1. $url = "https://$server:$port/api/0/orders/add?access_token=$accessToken";
    2. $ch = curl_init($url);
    3. $orderRequest = [
    4.    "organization" => $orgGuid,
    5.    "customer" => [
    6.          "id" => "4dc0f065-269e-47fd-bca7-7b4637b4ce97",
    7.          "name" => $_POST['billing_first_name'],
    8.          "phone" => $_POST['billing_phone']
    9.       ],
    10.    "order" => [
    11.             "id" => $order,
    12.             "date" => $d,
    13.             "phone" => $_POST['billing_phone'] ,
    14.             "isSelfService" => "false",
    15.             "items" => [
    16.                [
    17. foreach($order->get_items() as $item) ///////////////////////////////////////////////
    18. {
    19.                 $json['items'][] = array (
    20.                 "name" => $item['name'],
    21.                 "amount" => $item['qty'],
    22.                 )
    23. }///////////////////////////////////////////////////////////////////////////////////////////////
    24.  
    25.                
    26.                ]
    27.             ],
    28.             "address" => [
    29.                            "city" => "Samara",  
    30.                            "street" => $_POST['billing_address_1'],
    31.                            "home" => $_POST['billing_address_2'],
    32.                            "apartment" => $_POST['billing_podez'],
    33.                            "comment" => $_POST['order_comments']
    34.                         ]
    35.          ]
    36. ];
    Вот есть такой запрос, все прекрасно работает, но стоит добавить foreach, сразу ругается на синтаксические ошибки. Есть кто может подсказать что я не так делаю?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    Запусти пустой foreach и если заработает, можно добавлять по строчке более простого кода и проверять если работает
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.822
    Симпатии:
    736
    Адрес:
    Татарстан
    мощно вы ... прямо в структуру массива foreach загонять .. правильно что ругается
    решается на раз:
    выделенный кусок, формирующий какой то массив выносите ДО объявления массива и присваиваете результат какой то переменной
    и вставляете ее

    PHP:
    1. $json['items'] = [];
    2. foreach($order->get_items() as $item) ///////////////////////////////////////////////
    3. {
    4.                 $json['items'][] = array (
    5.                 "name" => $item['name'],
    6.                 "amount" => $item['qty'],
    7.                 )
    и
    PHP:
    1. ....
    2. "isSelfService" => "false",
    3.             "items" => $json
    4. ....
     
    skyals и Dron-Boy нравится это.