Перебор объектов simplexml и их добавление

Прошу прощения, если на это был дан ответ. Искал решение и ничего не нашел. Но я пытаюсь перебрать симплекс-файл, полученный из вызова API. API не самый лучший, поэтому, когда дата пересекает полночь, он полностью сокращает эти заказы. Поэтому, чтобы обойти это, мне нужно получить заказы и на следующий день, а затем выполнить foreach по заказам, затем я выполняю if на дату, чтобы получить целевую дату. В каждом цикле я хочу, чтобы он брал объекты simplexml и помещал их в переменную и добавлял каждый новый, чтобы к концу у меня был новый объект только с правильными датами.

Я попытался удалить определенные узлы, но это кажется гораздо более запутанным, чем просто их комбинирование в конце каждой итерации.

if (strtotime($thisFri) >= strtotime($today)) {
    $params = array(
        "shiftStart" => $thisFri . " 00:00:00",
        "shiftEnd" => $thisSat . "12:00:00",
        "status" => "filled"
    );
    $clearConnect->setParameters($params);
    $clearConnect->setResultType('xml');
    $shiftResult = $clearConnect->sendRequest('getOrders'); //gets orders
    $friShifts = simplexml_load_string($shiftResult); //puts the results in to xml
    foreach ($friShifts->order as $shift) { //iterates through each order
        $startLong = new DateTime($shift->shiftStartTime); //figuring out dates
        $start = $startLong->format('Y-m-d');
        $endLong = new DateTime($shift->shiftEndTime);
        $end = $endLong->format('Y-m-d');
        if ($start == $thisFri) { //if to run through all orders with proper start date

Вот где я нахожусь. $ friShifts - это симплекс-файл, содержащий набор заказов, которые выглядят следующим образом. После этого происходит еще кое-что, но это в основном то, что я ищу. Я хочу, чтобы каждая итерация нужной даты помещалась в новый симплекс-файл, который затем запускался через другие мои функции.

SimpleXMLElement Object
(
    [orderId] => 3988445
    [status] => filled
    [shiftStartTime] => 2019-01-11T07:00:00
    [shiftEndTime] => 2019-01-11T15:30:00
    [tempId] => 57921
    [firstName] => SimpleXMLElement Object
        (
        )

    [lastName] => SimpleXMLElement Object
        (
        )

    [clientId] => 1543
    [clientName] => SimpleXMLElement Object
        (
        )

    [regionName] => SimpleXMLElement Object
        (
        )

    [orderSpecialty] => School
    [orderCertification] => SLP
    [floor] => SimpleXMLElement Object
        (
        )

    [shiftNumber] => 1
    [note] => SimpleXMLElement Object
        (
        )

    [payrollNumber] => SimpleXMLElement Object
        (
        )

    [lessLunchMin] => SimpleXMLElement Object
        (
        )

    [dateTimeCreated] => 2018-08-06T17:03:34
    [takenBy] => 480
    [bookedByUserId] => 480
    [orderTypeId] => 1
    [orderType] => SimpleXMLElement Object
        (
        )

    [city] => Media
    [state] => xx
    [zipCode] => xxxxx
    [orderSourceID] => SimpleXMLElement Object
        (
        )

    [orderSourceName] => SimpleXMLElement Object
        (
        )

    [lt_orderID] => 0
    [dateTimeModified] => 2018-08-06T17:03:34
    [subjectID] => SimpleXMLElement Object
        (
        )

    [subject] => SimpleXMLElement Object
        (
        )

)```


Вы хотите превратить его обратно в строку XML? Почему бы просто не работать с ним как с объектами?

Barmar 12.01.2019 00:04

Извините, я изменил вопрос, я действительно хочу, чтобы это был новый объект simplexml в конце со всеми объединенными итерациями $ shift.

mobirae 12.01.2019 00:08

вы пробовали преобразовать конечный объект в массив / stdclass?

Cemal 12.01.2019 00:41

Думаю, моя главная проблема в том, что я не могу понять, как их объединить. В основном нужно иметь $ friDataClean. = $ Shift или что-то в этом роде после каждой итерации.

mobirae 12.01.2019 00:44

Можете ли вы опубликовать XML-вывод оба текущего и следующего дня из $ shiftResult?

Parfait 12.01.2019 01:16

Они оба одинаковые. Достигнув следующего дня до 12, я просто получаю любые приказы текущего дня, которые переходят в полночь. Итак, в итоге я получил большой список этих объектов, но некоторые из них, например, относятся к 11.01.2019, а некоторые - к 01.01.2019. Поэтому я превращаю эти даты начала в объекты dateTime и сравниваю их с днем, который я ищу. Но для ответа на вопрос вот один от 12.01.2019

mobirae 12.01.2019 01:34

([orderId] => 4178126 [status] => заполнено [shiftStartTime] => 2019-01-12T06: 00: 00 [shiftEndTime] => 2019-01-12T10: 00: 00 [tempId] => 1693958 [firstName] => Объект SimpleXMLElement (

mobirae 12.01.2019 01:36

Пришлось разрезать, но по сути то же самое

mobirae 12.01.2019 01:36
Стоит ли изучать 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 и хотите разрабатывать...
0
8
50
0

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

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

Отправьте мой вывод .php в команду curl, которая отправит мне сообщения в телеграмме с помощью бота
Использование POST для обновления значений через HTML-форму извлекает старые значения
Не удается найти правильную комбинацию Mime Type / Handler. (Файлы .json с ошибкой IIS 8.0 500 с кодом PHP в них)
Как преобразовать простой массив путей к файлам во вложенный массив, представляющий файловую иерархию в PHP?
Как отключить автоматический вход в систему при создании нового пользователя с помощью auth () в laravel 5.7?
Запросить отдельную ячейку в базе данных SQL с помощью PHP
Есть ли способ получить данные из настраиваемой таблицы worpress, мой запрос выбирает последний обновленный элемент в таблице
Как заставить laravel выдавать ошибку, если атрибут красноречивого объекта не существует?
Регулярное выражение - извлечь строку данных php long в массиве
Индикатор добавления корзины и нужно проверить, пуста ли она