1

我正在尝试将新的 readonly 属性与PHP8.1一起使用,但我无法设置我的数组值。

我的代码:

class MyModel
{
    public readonly int $id;
    public readonly string $text;
    /** @var array<int, string> $media_keys */
    public readonly array $media_keys;
    
    public function __construct(\stdClass $object)
    {
        $this->id = $object->id; // OK
        $this->text = $object->text; // OK
        if (isset($object->attachments)) {
            $this->media_keys = $object->attachments->media_keys; // KO
        }
    }
}

$object->attachments->media_keys是一个像这样的简单数组:

array(1) {
    [0]=> string(22) "16_1468553316770668545"
}

但这不起作用并返回["media_keys"] => uninitialized(array)

4

0 回答 0