Get in touch:
01524 851 877
07718 896 553

Nice PHP print_r Formatted Table Function

Posted on Jan 16 2012

Whilst looking through php.net I stumbled across the following function that will print out an array in a nicely formatted table. When dealing with lots of nested array something like this makes it much easier to see all of the data contained within an array.

<?php
 function print_nice($elem,$max_level=10,$print_nice_stack=array()){
 if(is_array($elem) || is_object($elem)){
 if(in_array(&$elem,$print_nice_stack,true)){
 echo "<font color=red>RECURSION</font>";
 return;
 }
 $print_nice_stack[]=&$elem;
 if($max_level<1){
 echo "<font color=red>nivel maximo alcanzado</font>";
 return;
 }
 $max_level--;
 echo "<table border=1 cellspacing=0 cellpadding=3 width=100%>";
 if(is_array($elem)){
 echo '<tr><td colspan=2  style="background-color:#333333;"><strong><font  color=white>ARRAY</font></strong></td></tr>';
 }else{
 echo '<tr><td colspan=2 style="background-color:#333333;"><strong>';
 echo '<font color=white>OBJECT Type: '.get_class($elem).'</font></strong></td></tr>';
 }
 $color=0;
 foreach($elem as $k => $v){
 if($max_level%2){
 $rgb=($color++%2)?"#888888":"#BBBBBB";
 }else{
 $rgb=($color++%2)?"#8888BB":"#BBBBFF";
 }
 echo '<tr><td valign="top" style="width:40px;background-color:'.$rgb.';">';
 echo '<strong>'.$k."</strong></td><td>";
 print_nice($v,$max_level,$print_nice_stack);
 echo "</td></tr>";
 }
 echo "</table>";
 return;
 }
 if($elem === null){
 echo "<font color=green>NULL</font>";
 }elseif($elem === 0){
 echo "0";
 }elseif($elem === true){
 echo "<font color=green>TRUE</font>";
 }elseif($elem === false){
 echo "<font color=green>FALSE</font>";
 }elseif($elem === ""){
 echo "<font color=green>EMPTY STRING</font>";
 }else{
 echo str_replace("\n","<strong><font color=red>*</font></strong><br>\n",$elem);
 }
 }
 ?>

Convert MySql timestamp field to Unix Time Stamp

Posted on Mar 20 2008

As anyone who has used MySql and PHP in the past to deal with time and date will probably know MySql timestamp fields are not compatible in anyway with PHP’s date() function. Because of this you need to do conversions in order to use the information from the MySql database. The following function will convert a value from a database into a unix timestamp format for easier manipulation within your PHP code. I have found it quite useful to have around so am putting it up here for others to take advantage of.

/*
* Convert MySql timestamp to unix timestamp
*/
function ts2unix($ts)
{
$year = substr($ts,0,4);
$month = substr($ts,4,2);
$day = substr($ts,6,2);
$hour = substr($ts,8,2);
$minute = substr($ts,10,2);
$second = substr($ts,12,2);
$uts = mktime($hour,$minute,$second,$month,$day,$year);
return ($uts);
}