Witam serdecznie,
jako że jestem "młodym" programistą xml - wczesniej działałem sobie na csv i tablicach, mam pytanie, czy dobrze zapisuję kod, czy powinno się to robić w jakiś inny sposób.
z pliku xml wyciagam sobie dane:
hostingDataBase
= simplexml_load_file
('./../db/hosting.xml') or
die ('Błąd: Brak obsługi funkcji SimpleXML');$currentHosting = $hostingDataBase -> current -> customer; $countCurrent = count($currentHosting); $archiveHosting = $hostingDataBase -> archive -> customer;
$countArchive = count($archiveHosting);
foreach ($currentHosting as $cH)
{
$cHosting[] = $cH;
}
foreach ($archiveHosting as $aH)
{
$aHosting[] = $aH;
}
array_multisort(array_column
($cHosting, 'date'), SORT_FLAG_CASE
| SORT_STRING
, array_column
($cHosting, 'name'), SORT_FLAG_CASE
| SORT_STRING
, $cHosting); array_multisort(array_column
($aHosting, 'date'), SORT_FLAG_CASE
| SORT_STRING
, array_column
($aHosting, 'name'), SORT_FLAG_CASE
| SORT_STRING
, $aHosting);
wszystkie dane są w korzeniu "customer" tablice buduja sie jak widac array0 -> i tu wszystkie pola z korzenia customer...
jak zrobic tablice na zasadzie takiej:
$hostingDataBase = './../db/hosting.csv';
$hostingColumns = ['hostingName', 'hostingWeb', 'hostingCat', 'hostingDate', 'nazwaLogin', 'nazwaPasword', 'hostingDescription'];
$hostings = array_map(function ($record) use
($hostingColumns) {return array_combine
($hostingColumns, str_getcsv
($record, '|'));}, file($hostingDataBase));
bo tak byloby mi najlatwiej
zeby tablica byla zbudowana z
array(name
=> $xml -> customer -> name, id
=> $xml -> customer -> id) etc
...chcialbym sobie zmienne z tablicy wywolywac na zasadzie:
foreach($currentCustomers as $cC)
{
$cC['name'] = blebleble;
$cC['id'] = blablabla;
...
@EDIT
ok doszedłem - dzisiaj mózg wyspany, szybko sobie poradziłem. Chodziło mi o to:
foreach ($currentHosting as $key => $cH)
{
$cHosting[] = ['date' => $cH -> date, 'www' => $cH -> www, 'name' => $cH -> name...]; }
Ten post edytował shpaque 8.06.2018, 08:51:04