Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何创建相交类型的阵列_Php_Typing_Static Typing_Psalm Php - Fatal编程技术网

Php 如何创建相交类型的阵列

Php 如何创建相交类型的阵列,php,typing,static-typing,psalm-php,Php,Typing,Static Typing,Psalm Php,我试图实现的简化如下: <?php /** * @psalm-type Foo=array{foo: string} * @psalm-type Bar=array{bar: int} */ /** * @param Foo&Bar $v */ function acceptFooAndBar(array $v): void { echo sprintf('%s %d', $v['foo'], $v['bar']); } acceptFooAndBar(['

我试图实现的简化如下:

<?php

/**
 * @psalm-type Foo=array{foo: string}
 * @psalm-type Bar=array{bar: int}
 */

/**
 * @param Foo&Bar $v
 */
function acceptFooAndBar(array $v): void {
    echo sprintf('%s %d', $v['foo'], $v['bar']);
}

acceptFooAndBar(['foo' => 'f', 'bar' => 42]);
真的没有办法不坚持运行时断言/检查吗

重要:这个问题严格来说是关于静态类型的,我知道你可以在运行时检查它。

我报告它是一个bug,它在

所以现在它正确地进行了类型检查

ERROR: InvalidDocblock - 9:11 - Intersection types must all be objects, Psalm\Type\Atomic\ObjectLike provided in docblock for acceptFooAndBar