# ArrayObject::__construct

(PHP 5, PHP 7)

ArrayObject::__construct — Construct a new array object

### Description

public ArrayObject::__construct ([ mixed `$input` = array() [, int `$flags` = 0 [, string `$iterator_class` = "ArrayIterator" ]]] )

This constructs a new array object.

### Parameters

`input`

  The `input` parameter accepts an array or an Object.

`flags`

  Flags to control the behaviour of the ArrayObject object. See ArrayObject::setFlags().

`iterator_class`

  Specify the class that will be used for iteration of the ArrayObject object.

### Return Values

Returns an ArrayObject object on success.

### Errors/Exceptions

Throws InvalidArgumentException when:

- `input` is not an array or object
- `flags` is not an integer
- `iterator_class` is not an object that implements Iterator

### Examples

Example #1 ArrayObject::__construct() example

`<?php
$array = array('1' => 'one',
'2' => 'two',
'3' => 'three');
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
?>`

The above example will output:

    object(ArrayObject)#1 (3) {
      [1]=>
      string(3) "one"
      [2]=>
      string(3) "two"
      [3]=>
      string(5) "three"
    }

### See Also

- ArrayObject::setflags() - Sets the behavior flags