Pingpp\Util\Util::convertPingppObjectToArray PHP Method

convertPingppObjectToArray() public static method

Recursively converts the PHP Pingpp object to an array.
public static convertPingppObjectToArray ( array $values, $keep_object = false ) : array
$values array The PHP Pingpp object to convert.
return array
    public static function convertPingppObjectToArray($values, $keep_object = false)
    {
        $results = array();
        foreach ($values as $k => $v) {
            // FIXME: this is an encapsulation violation
            if ($k[0] == '_') {
                continue;
            }
            if ($v instanceof PingppObject) {
                $results[$k] = $keep_object ? $v->__toStdObject(true) : $v->__toArray(true);
            } else {
                if (is_array($v)) {
                    $results[$k] = self::convertPingppObjectToArray($v, $keep_object);
                } else {
                    $results[$k] = $v;
                }
            }
        }
        return $results;
    }

Usage Example

 public function __toArray($recursive = false)
 {
     if ($recursive) {
         return Util\Util::convertPingppObjectToArray($this->_values);
     } else {
         return $this->_values;
     }
 }