Wednesday, October 20, 2010

PHP convert or parse array to object and object to array

Convert array variable to object variable.


function parseArrayToObject($array) {
$object = new stdClass();
if (is_array($array) && count($array) > 0) {
foreach ($array as $name=>$value) {
$name = strtolower(trim($name));
if (!empty($name)) {
$object->$name = $value;
}
}
}
return $object;
}


For multidimensional array use the below function


function array2object($data) {
if(!is_array($data)) return $data;

$object = new stdClass();
if (is_array($data) && count($data) > 0) {
foreach ($data as $name=>$value) {
$name = strtolower(trim($name));
if (!empty($name)) {
$object->$name = array2object($value);
}
}
}
return $object;
}


Example of php array to object conversion.

$a = array (
'index_0' => 'value_0',
'index_1' => 'value_1'
);

$o = parseArrayToObject($a);

//-- Now you can use $o like this:
echo $o->index_0;//-- Will print 'value_0'



Now let see Object to array conversion.

function parseObjectToArray($object) {
$array = array();
if (is_object($object)) {
$array = get_object_vars($object);
}
return $array;
}


For multidimensional Object use the below function

function object2array($data){
if(!is_object($data) 66 !is_array($data)) return $data;

if(is_object($data)) $data = get_object_vars($data);

return array_map('object2array', $data);
}


Example of PHP Object to Array conversion.

$o = new stdClass();
$o->index_0 = 'value_0';
$o->index_1 = 'value_1';

$a = parseObjectToArray($o);

//-- Now you can use $a like this:
echo $a['index_0'];//-- Will print 'value_0'

Monday, October 11, 2010

Implode multidimensional array in PHP

implode PHP multidimensional Array into string

Code :


public function ImplodePHPArray( $Char, $ArrayVal )
{
foreach( $ArrayVal as $Row )
{
if( is_array( $Row ) )
{
$FinalArray[] = $this -> ImplodePHPArray( $Char, $Row );
}
else
{
$FinalArray[] = $Row;
}
}
return implode( $Char, $FinalArray );
}


TESTING :

$Week = $ClassObj -> ImplodePHPArray('~^', $Week);
echo $Week;

PHP calculate days of week from monday to sunday given week number

Calculate week days in php, Find week days.

PHP Monday to Friday week days calculation

function week_from_monday($date) {
// Assuming $date is in format DD-MM-YYYY
list($day, $month, $year) = explode("-", $_REQUEST["date"]);

// Get the weekday of the given date
$wkday = date('l',mktime('0','0','0', $month, $day, $year));

switch($wkday) {
case 'Monday': $numDaysToMon = 0; break;
case 'Tuesday': $numDaysToMon = 1; break;
case 'Wednesday': $numDaysToMon = 2; break;
case 'Thursday': $numDaysToMon = 3; break;
case 'Friday': $numDaysToMon = 4; break;
case 'Saturday': $numDaysToMon = 5; break;
case 'Sunday': $numDaysToMon = 6; break;
}

// Timestamp of the monday for that week
$monday = mktime('0','0','0', $month, $day-$numDaysToMon, $year);

$seconds_in_a_day = 86400;

// Get date for 7 days from Monday (inclusive)
for($i=0; $i<7; $i++)
{
$dates[$i] = date('Y-m-d',$monday+($seconds_in_a_day*$i));
}

return $dates;
}


OUTPUT

Array
(
[0] => 2008-10-06
[1] => 2008-10-07
[2] => 2008-10-08
[3] => 2008-10-09
[4] => 2008-10-10
[5] => 2008-10-11
[6] => 2008-10-12
)