ArrayObject::__construct
(PHP 5, PHP 7, PHP 8)
Construct a new array object
Description
This constructs a new array object.
As of PHP 8.5.0, passing an enum as the array parameter throws an InvalidArgumentException. Modifying the $name or $value properties of an enum would break engine assumptions.
Parameters
arrayThe
arrayparameter accepts anarrayor anobject. Passing anobjectis deprecated as of PHP 8.5.0.flagsFlags to control the behaviour of the
ArrayObjectobject. SeeArrayObject::setFlags.iteratorClassSpecify the class that will be used for iteration of the
ArrayObjectobject. The class must be a subtype of theArrayIteratorclass.
Errors/Exceptions
As of PHP 8.5.0, throws an InvalidArgumentException if array is an enum.
Changelog
| Version | Description |
|---|---|
| 8.5.0 | Passing an enum as array now throws an InvalidArgumentException. |
| 8.5.0 | Passing an object as array is deprecated. |
Examples
ArrayObject::__construct() example
<?php
$array = [
'1' => 'one',
'2' => 'two',
'3' => 'three'
];
$arrayobject = new ArrayObject($array);
var_dump($arrayobject);
?>The above example will output:
object(ArrayObject)#1 (1) {
["storage":"ArrayObject":private]=>
array(3) {
[1]=>
string(3) "one"
[2]=>
string(3) "two"
[3]=>
string(5) "three"
}
}See Also
ArrayObject::setFlagsArrayObject::getArrayCopyArrayIterator::__construct