php - 遍历 simplexml 对象并附加它们
问题描述
如果这已得到答复,我深表歉意。我一直在寻找解决方案,但找不到任何东西。但是我试图遍历一个我从 API 调用中得到的 simplexml。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 是一个 simplexml,它包含一堆看起来像这样的订单。在此之后发生了更多事情,但这基本上就是我正在寻找的。我希望它将正确日期的每次迭代放入一个新的 simplexml 中,然后通过我的其他函数运行。
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
(
)
)```
解决方案
推荐阅读
- c# - Thread.Sleep(0) 在 .NET Core 3.1 上无法正常工作
- react-native - React Native:任何导航器都没有处理带有有效负载(blahblah)的操作“NAVIGATE”。你有一个名为“主页”的屏幕吗?
- c++ - 让 Gcc 指定哪些模板占用的时间最长
- python - 从字符串在python中创建一个列表
- android - Flutter 中的 Dialogflow 建议芯片响应?
- javascript - 一次仅扩展一个移动导航选项
- python - 优化旅行推销员算法(时间旅行者算法)
- r - 如何使用向量对数据帧列表进行子集化
- excel - 将工作表复制到 ActiveWorkbook
- python - 将校正列添加到数据框