| [ Index ] |
PHP Cross Reference of Akelos Framework |
[Summary view] [Print] [Text view]
1 <?php 2 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */ 3 4 // +----------------------------------------------------------------------+ 5 // | Akelos Framework - http://www.akelos.org | 6 // +----------------------------------------------------------------------+ 7 // | Copyright (c) 2002-2006, Akelos Media, S.L. & Bermi Ferrer Martinez | 8 // | Released under the GNU Lesser General Public License, see LICENSE.txt| 9 // +----------------------------------------------------------------------+ 10 11 /** 12 * @package ActiveSupport 13 * @subpackage Converters 14 * @author Bermi Ferrer <bermi a.t akelos c.om> 15 * @copyright Copyright (c) 2002-2006, Akelos Media, S.L. http://www.akelos.org 16 * @license GNU Lesser General Public License <http://www.gnu.org/copyleft/lesser.html> 17 */ 18 19 class AkObjectToArray 20 { 21 function convert() 22 { 23 return $this->_walkObject($this->source); 24 } 25 function _convertNumeric($value) 26 { 27 if (is_string($value) && !ereg('\d',$value{0})) { 28 return $value; 29 } else if (is_null($value)) { 30 return null; 31 } else if (($int=intval($value))==$value+0) { 32 return $int; 33 } else if (($float = floatval($value)) == $value+0.0) { 34 return $float; 35 } else if (($double = doubleval($value)) == $value+0.0) { 36 return $double; 37 } 38 return $value; 39 } 40 function _walkObject($obj) 41 { 42 $return = array(); 43 foreach($obj as $key=>$value) { 44 if (is_object($value)) { 45 $return[$key] = $this->_walkObject($value); 46 } else { 47 $return[$key] = is_numeric($value)?$this->_convertNumeric($value):$value; 48 } 49 } 50 51 return $return; 52 } 53 } 54 55 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Mon Oct 27 12:43:49 2008 | Cross-referenced by PHPXref 0.6 |