Symfony\Component\Serializer\Serializer::normalize PHP Method

normalize() public method

public normalize ( $data, $format = null )
    public function normalize($data, $format = null)
    {
        if (null === $data || is_scalar($data)) {
            return $data;
        }
        if ($data instanceof \Traversable) {
            $normalized = array();
            foreach ($data as $key => $val) {
                $normalized[$key] = $this->normalize($val, $format);
            }

            return $normalized;
        }
        if (is_object($data)) {
            return $this->normalizeObject($data, $format);
        }
        if (is_array($data)) {
            foreach ($data as $key => $val) {
                $data[$key] = $this->normalize($val, $format);
            }

            return $data;
        }
        throw new UnexpectedValueException('An unexpected value could not be normalized: '.var_export($data, true));
    }

Usage Example

 public function testCustomNormalizerCanNormalizeCollectionsAndScalar()
 {
     $serializer = new Serializer(array(new TestNormalizer()), array());
     $this->assertNull($serializer->normalize(array('a', 'b')));
     $this->assertNull($serializer->normalize(new \ArrayObject(array('c', 'd'))));
     $this->assertNull($serializer->normalize(array()));
     $this->assertNull($serializer->normalize('test'));
 }
All Usage Examples Of Symfony\Component\Serializer\Serializer::normalize