[ Index ]

PHP Cross Reference of Akelos Framework

title

Body

[close]

/AkConverters/ -> AkObjectToArray.php (source)

   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  ?>


Generated: Mon Oct 27 12:43:49 2008 Cross-referenced by PHPXref 0.6