Dutch PHP Conference 2027

ArrayObject::__construct

(PHP 5, PHP 7, PHP 8)

ArrayObject::__construct新規配列オブジェクトを生成する

説明

public function ArrayObject::__construct(array|object $array = [], int $flags = 0, string $iteratorClass = ArrayIterator::class)

新規配列オブジェクトを生成します。

警告

PHP 8.5.0 以降、array パラメータに列挙型を渡すと InvalidArgumentException をスローします。 列挙型の $name$value プロパティを変更すると、PHP エンジンの想定を壊す可能性があるからです。

パラメータ

array

array には、 配列あるいはオブジェクトを指定することができますが、 PHP 8.5.0 以降、オブジェクトを渡すことは非推奨です。

flags

ArrayObject オブジェクトの振る舞いを制御するフラグ。 ArrayObject::setFlags() を参照ください。

iteratorClass

ArrayObject オブジェクトの反復処理に使用するクラスを指定します。 ここで指定するクラスは、 ArrayIterator の部分型でなければなりません。

エラー / 例外

PHP 8.5.0 以降、array が列挙型の場合に InvalidArgumentException をスローします。

変更履歴

バージョン 説明
8.5.0 array に列挙型を渡すと InvalidArgumentException をスローするようになりました。
8.5.0 array にオブジェクトを渡すことは非推奨になりました。

例1 ArrayObject::__construct() の例

<?php

$array = [
    '1' => 'one',
    '2' => 'two',
    '3' => 'three'
];

$arrayobject = new ArrayObject($array);

var_dump($arrayobject);

?>

上の例の出力は以下となります。

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

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top