Я звоню в API, чтобы вернуть список вакансий. Выход, который я получаю, выглядит следующим образом:Looping массивы для получения данных
SimpleXMLElement {#357 ▼
+"Jobs": SimpleXMLElement {#368 ▼
+"Job": array:13 [▼
0 => SimpleXMLElement {#371 ▼
+"ID": "J000006"
+"Name": "HTML Website"
+"Client": SimpleXMLElement {#387 ▶}
+"Budget": "5000.00"
+"State": "In Progress"
+"StartDate": "2016-03-31T00:00:00"
+"DueDate": "2016-03-31T00:00:00"
}
1 => SimpleXMLElement {#372 ▶}
2 => SimpleXMLElement {#373 ▶}
3 => SimpleXMLElement {#374 ▶}
4 => SimpleXMLElement {#375 ▶}
5 => SimpleXMLElement {#376 ▶}
]
}
}
Теперь я пытаюсь получить Цитату, связанную с работой. Так что я сделать вызов API, чтобы получить список цитат, который производит что-то вроде этого
SimpleXMLElement {#358 ▼
+"Quotes": SimpleXMLElement {#366 ▼
+"Quote": array:12 [▼
0 => SimpleXMLElement {#369 ▼
+"ID": "Q0019"
+"Type": "Quote"
+"State": "Accepted"
+"Name": "HTML Website"
+"Budget": "5000.00"
+"LeadID": "1232718"
+"Date": "2016-04-21T00:00:00"
+"ValidDate": "2016-05-19T00:00:00"
+"Amount": "1950.00"
+"AmountTax": "390.00"
+"AmountIncludingTax": "2340.00"
+"Client": SimpleXMLElement {#384 ▶}
}
1 => SimpleXMLElement {#370 ▶}
2 => SimpleXMLElement {#371 ▶}
3 => SimpleXMLElement {#372 ▶}
4 => SimpleXMLElement {#373 ▶}
5 => SimpleXMLElement {#374 ▶}
]
}
}
Так что я теперь есть два XMLElements, сейчас я пытаюсь создать массив, который имеет следующие
Job -> ID
Job -> Name
Job -> Client
Quote -> Amount
Quote -> AmountTax
Quote -> AmountIncludingTax
Поэтому я создаю пустой массив
$finalArray = array();
$iterator = 0;
с выше XML, вещь, которая может соответствовать цитату на Иова атрибут Name. Так я начинаю цикл рабочих мест и кавычки, чтобы заполнить мой массив с данными мне нужно
foreach ($currentJobsXML->Jobs->Job as $job) {
$seconditerator = 0;
foreach($jobsQuoteXML->Quotes->Quote as $quote) {
if((string)$quote->State == 'Accepted') {
if ((string)$job->Name == (string)$quote->Name) {
$finalArray[$iterator]['TEST'][$seconditerator] = array(
'Job ID' => (string)$job->ID,
'Project Name' => (string)$job->Name,
'Client' => (string)$job->Client->Name,
'Quote Exc VAT' => (string)$quote->Amount,
'VAT Amount' => (string)$quote->AmountTax,
'Total Amount' => (string)$quote->AmountIncludingTax
);
$seconditerator++;
}
}
}
}
С выше коде, я только когда-нибудь появится, чтобы получить один выход в моем массиве
array:1 [▼
0 => array:1 [▼
"TEST" => array:1 [▼
0 => array:6 [▼
"Job ID" => "J000006"
"Project Name" => "HTML Website"
"Client" => "Prospect 1"
"Quote Exc VAT" => "1950.00"
"VAT Amount" => "390.00"
"Total Amount" => "2340.00"
]
]
]
]
Там довольно много котировок, которые были приняты с тем же именем, что и имя вакансии, поэтому я должен получить все эти данные .
С приведенным выше кодом, почему мои данные переписываются?
Благодаря