×
Creating solutions

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
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest