Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML, AJAX _ Uporządkowanie kodu php/xml

Napisany przez: shpaque 8.06.2018, 09:04:43

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:

  1. hostingDataBase = simplexml_load_file('./../db/hosting.xml') or http://www.php.net/die ('Błąd: Brak obsługi funkcji SimpleXML');
  2. $currentHosting = $hostingDataBase -> http://www.php.net/current -> customer;
  3. $countCurrent = http://www.php.net/count($currentHosting);
  4. $archiveHosting = $hostingDataBase -> archive -> customer;
  5. $countArchive = http://www.php.net/count($archiveHosting);
  6. $cHosting = http://www.php.net/array();
  7. $aHosting = http://www.php.net/array();
  8.  
  9. foreach ($currentHosting as $cH)
  10. {
  11. $cHosting[] = $cH;
  12. }
  13.  
  14. foreach ($archiveHosting as $aH)
  15. {
  16. $aHosting[] = $aH;
  17. }
  18.  
  19. http://www.php.net/array_multisort(array_column($cHosting, 'date'), SORT_FLAG_CASE | SORT_STRING, array_column($cHosting, 'name'), SORT_FLAG_CASE | SORT_STRING, $cHosting);
  20. http://www.php.net/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:

  1. $hostingDataBase = './../db/hosting.csv';
  2. $hostingColumns = ['hostingName', 'hostingWeb', 'hostingCat', 'hostingDate', 'nazwaLogin', 'nazwaPasword', 'hostingDescription'];
  3. $hostings = http://www.php.net/array_map(function ($record) use ($hostingColumns) {return array_combine($hostingColumns, str_getcsv($record, '|'));}, http://www.php.net/file($hostingDataBase));


bo tak byloby mi najlatwiej

zeby tablica byla zbudowana z
  1. http://www.php.net/array(name => $xml -> customer -> name, id => $xml -> customer -> id) etc


...chcialbym sobie zmienne z tablicy wywolywac na zasadzie:
  1. foreach($currentCustomers as $cC)
  2. {
  3. $cC['name'] = blebleble;
  4. $cC['id'] = blablabla;
  5. ...


@EDIT

ok doszedłem - dzisiaj mózg wyspany, szybko sobie poradziłem. Chodziło mi o to:

  1. foreach ($currentHosting as $key => $cH)
  2. {
  3. $cHosting[] = ['date' => $cH -> http://www.php.net/date, 'www' => $cH -> www, 'name' => $cH -> name...];
  4. }

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)