<?php
namespace Luracast\Restler\Data;

/**
 * Convenience class for Array manipulation
 *
 * @category   Framework
 * @package    Restler
 * @author     R.Arul Kumaran <arul@luracast.com>
 * @copyright  2010 Luracast
 * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
 * @link       http://luracast.com/products/restler/
 */
class Arr
{
    /**
     * Deep copy given array
     *
     * @param array $arr
     *
     * @return array
     */
    public static function copy(array $arr)
    {
        $copy = array();
        foreach ($arr as $key => $value) {
            if (is_array($value)) $copy[$key] = static::copy($value);
            else if (is_object($value)) $copy[$key] = clone $value;
            else $copy[$key] = $value;
        }
        return $copy;
    }
} 