webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> porady >> php + mysql

Wyświetlanie zawartości tablicy

autor: Patryk 'yarpo' Jar, ostatnia modyfikacja: 2007-09-06

szukaj: tablice asocjacyjne tablice asocjacyjne pętla for pętla for pętla foreach pętla foreach funkcja print_r funkcja print_r

Temat wydawać się może bardzo prymitywny, ale czasem jest to niezwykle istotne. Szczególnie po wielu godzinach dubugowania...

Zacznę więc od najprostszego sposobu – wyświetlanie zawartości zwyczajnej tablicy:

<?PHP
	$tab = array(1,34,2,56,-9);
	$n = count($tab);
	for ($i=0;$i<$n; $i++)
		echo $tab[$i].'<br />';
?>

Jak widać na powyższy listingu, kod jest prosty. Może jedynie zwrócę uwagę na celowe wywołanie funkcji count() poza pętlą for. Dzięki temu zostanie ona wywołana na pewno tylko raz. Przy bardziej skomplikowanych projektach można oszczędzić trochę czasu.

Czas na trudniejsze tablice – tablice asocjacyjne. Do wyświetlania ich zawartości istnieje specjalna pętla foreach:

<?PHP
	$tab = array( 'jeden' => 2, 'dwa' => 4, 'trzy' => -78 );
	foreach ($tab as $klucz => $wartosc)
		echo "tab['".$klucz."'] ==". $wartosc;
?>

Ok. To już byłoby prawie na tyle :). Za pomocą foreach można sobie poradzić z wieloma tablicami. Jednak mimo wszystko jest to dosyć długi kod (oczywiście powyższy sposób będzie też działał dla zwykłych tablic). Ale spokojnie – PHP jak zawsze dostarcza innych rozwiązań. W tym wypadku będzie to funkcja print_r:

<?PHP
	$tab = array(/* tu jakaś extremalnie skomplikowana struktura, tablice w tablicy itp.*/);
	echo '<pre>';
	print_r($tab);
	echo '</pre>';
?>

Tym sposobem otrzymujemy całą zawartość tablicy wyświetloną na standardowe wyjście [najczęściej monitor]. osobiście naprawdę często używam podczas debugowania. Print_r() można używać zarówno do prostych tablic jak i bardzo skomplikowanych

Patryk 'yarpo' Jar

Osoby czytające tę publikację przeglądały również:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org