×
Vytvárame riešenia

Ako prehľadne zobraziť obsah poľa v PHP

Práca s poľom je jednou z najčastejšie vykonávaných činností v rámci tvorby skriptov. Príkladom je manipulácia s dátami vo formáte XML, kde je pole veľmi často výsledkom jednotlivých operácií. Problém ale nastáva, ak sa má obsah poľa zobraziť v internetovom prehliadači. Výstupom je neprehľadná spleť dát a podľa typu použitej funkcie aj rôznych doplňujúcich informácií.
Jednou z možností ako prehľadne zobraziť obsah poľa je umiestnenie výstupu do elementu <pre>. Párový blokový element <pre> zobrazuje originálne vložený (pre-formatted) text vrátane zachovania bielych miest.
Príklad: Formátované zobrazenie poľa prostredníctvom elementu <pre>.
1
2
3
print "<pre>";
print_r(ini_get_all('mbstring'));
print "</pre>";
Príklad: Použitie príkazu echo namiesto print.
1
2
3
echo "<pre>";
print_r(ini_get_all('mbstring'));
echo "</pre>";
Okrem zobrazenia poľa prostredníctvom elementu <pre> je možné uložiť obsah poľa do premennej a ten po malej úprave formátovania obsahu následne zobraziť. Zadaním argumentu true do funkcie print_r() sa obsah poľa nezobrazí, ale uloží do premennej. Funkciou preg_replace() sa zabezpečí riadkovanie a identické zobrazenie odsadenia ako pri použití elementu <pre>.
Príklad: Formátované zobrazenie poľa prostredníctvom príkazu echo.
1
2
3
4
$result = print_r(ini_get_all('mbstring'), true);
$result = preg_replace("/\n/", "<br>", $result);
$result = preg_replace("/\s/", "&nbsp;&nbsp;", $result);
echo $result;
Ak používateľ nechce mať tak veľké odsadenie, môže odstrániť jeden zápis &nbsp;.
Príklad: Formátované zobrazenie poľa s menším odsadením.
1
2
3
4
$result = print_r(ini_get_all('mbstring'), true);
$result = preg_replace("/\n/", "<br>", $result);
$result = preg_replace("/\s/", "&nbsp;", $result);
echo $result;
V prípade veľmi častej práce s poľom a potrebou kontroly jeho obsahu je možné si vytvoriť pomocnú funkciu (helper).
Príklad: Funkcia displayArray() pre formátované zobrazenie obsahu poľa.
1
2
3
4
5
6
7
8
9
function displayArray($arr) {
$result = print_r($arr, true);
$result = preg_replace("/\n/", "<br>", $result);
$result = preg_replace("/\s/", "&nbsp;", $result);
return $result;
}
$arr = ini_get_all('mbstring');
echo displayArray($arr);
Okrem funkcie print_r() je možné použiť aj funkciu var_export(). Tá navyše zobrazí aj hodnoty NULL, ktoré funkcia print_r() reprezentuje ako medzeru.
Príklad: Funkcia displayArray() s funkciou var_export().
1
2
3
4
5
6
7
8
9
function displayArray($arr) {
$result = var_export($arr, true);
$result = preg_replace("/\n/", "<br>", $result);
$result = preg_replace("/\s/", "&nbsp;", $result);
return $result;
}
$arr = ini_get_all('mbstring');
echo displayArray($arr);

Záver

Po naformátovaní reťazca reprezentujúceho obsah poľa sa stáva pole oveľa prehľadnejšie. Používateľ si môže vytvoriť sadu rôznych pomocných funkcií a umiestniť do jedného súboru, ktorý bude pripájať ku svojmu programu. V prípade, že má používateľ k dispozícii IDE s podporou ladenia skriptov v jazyku PHP, môže namiesto pomocných funkcií využívať možnosti takéhoto IDE.
Autor: Matej Lednár
Dátum: 25.2.2013
Kategória: PHP
Značky: regexp, programovanie, print_r, preg_replace, pre, array, php, ini_get_all, echo, helper, ide, print


PHP,regexp,programovanie,print_r,preg_replace,pre,array,PHP,ini_get_all,echo,helper,IDE,print
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších