private function flattenArgs($args, $level = 0, &$count = 0)
    {
        $result = [];
        foreach ($args as $key => $value) {
            if (++$count > 10000) {
                return ['array', '*SKIPPED over 10000 entries*'];
            }
            if ($value instanceof \__PHP_Incomplete_Class) {
                // is_object() returns false on PHP<=7.1
                $result[$key] = ['incomplete-object', $this->getClassNameFromIncomplete($value)];
            } elseif (is_object($value)) {
                $result[$key] = ['object', get_class($value)];
            } elseif (is_array($value)) {
                if ($level > 10) {
                    $result[$key] = ['array', '*DEEP NESTED ARRAY*'];
                } else {
                    $result[$key] = ['array', $this->flattenArgs($value, $level + 1, $count)];
                }
            } elseif (null === $value) {
                $result[$key] = ['null', null];
            } elseif (is_bool($value)) {
                $result[$key] = ['boolean', $value];
            } elseif (is_int($value)) {
                $result[$key] = ['integer', $value];
            } elseif (is_float($value)) {
                $result[$key] = ['float', $value];
            } elseif (is_resource($value)) {
                $result[$key] = ['resource', get_resource_type($value)];
            } else {
                $result[$key] = ['string', (string)$value];
            }
        }

        return $result;
    }
private function flattenArgs($args, $level = 0, &$count = 0)
    {
        $result = [];
        foreach ($args as $key => $value) {
            if (++$count > 10000) {
                return ['array', '*SKIPPED over 10000 entries*'];
            }
            if ($value instanceof \__PHP_Incomplete_Class) {
                // is_object() returns false on PHP<=7.1
                $result[$key] = ['incomplete-object', $this->getClassNameFromIncomplete($value)];
            } elseif (is_object($value)) {
                $result[$key] = ['object', get_class($value)];
            } elseif (is_array($value)) {
                if ($level > 10) {
                    $result[$key] = ['array', '*DEEP NESTED ARRAY*'];
                } else {
                    $result[$key] = ['array', $this->flattenArgs($value, $level + 1, $count)];
                }
            } elseif (null === $value) {
                $result[$key] = ['null', null];
            } elseif (is_bool($value)) {
                $result[$key] = ['boolean', $value];
            } elseif (is_int($value)) {
                $result[$key] = ['integer', $value];
            } elseif (is_float($value)) {
                $result[$key] = ['float', $value];
            } elseif (is_resource($value)) {
                $result[$key] = ['resource', get_resource_type($value)];
            } else {
                $result[$key] = ['string', (string)$value];
            }
        }

        return $result;
    }
private function flattenArgs ( $ args , $ level = 0 , & $ count = 0 ) { $ result = [ ] ; foreach ( $ args as $ key => $ value ) { if ( ++ $ count > 10000 ) { return [ 'array' , '*SKIPPED over 10000 entries*' ] ; } if ( $ value instanceof \ __PHP_Incomplete_Class ) { // is_object() returns false on PHP<=7.1 $ result [ $ key ] = [ 'incomplete-object' , $ this -> getClassNameFromIncomplete ( $ value ) ] ; } elseif ( is_object ( $ value ) ) { $ result [ $ key ] = [ 'object' , get_class ( $ value ) ] ; } elseif ( is_array ( $ value ) ) { if ( $ level > 10 ) { $ result [ $ key ] = [ 'array' , '*DEEP NESTED ARRAY*' ] ; } else { $ result [ $ key ] = [ 'array' , $ this -> flattenArgs ( $ value , $ level + 1 , $ count ) ] ; } } elseif ( null === $ value ) { $ result [ $ key ] = [ 'null' , null ] ; } elseif ( is_bool ( $ value ) ) { $ result [ $ key ] = [ 'boolean' , $ value ] ; } elseif ( is_int ( $ value ) ) { $ result [ $ key ] = [ 'integer' , $ value ] ; } elseif ( is_float ( $ value ) ) { $ result [ $ key ] = [ 'float' , $ value ] ; } elseif ( is_resource ( $ value ) ) { $ result [ $ key ] = [ 'resource' , get_resource_type ( $ value ) ] ; } else { $ result [ $ key ] = [ 'string' , ( string ) $ value ] ; } } return $ result ; }
Allows you to sterilize the Exception trace arguments
@param array $args
@param int $level recursion level
@param int $count number of records counter
@return array arguments tracing.
Allows you to sterilize the Exception trace arguments