1

给定以下代码

<?hh
$a = Vector {"qux"};
$b = Vector {"foo","bar"};

$a = array_merge($a, $b);

引发以下错误:

警告:使用了无效的操作数类型:array_merge 需要数组

向量和地图是否有任何解决方法array_merge,而无需手动制作向量?

4

2 回答 2

1

好吧,我想合并地图,发现您也可以使用该setAll()方法。

$this->params->setAll($parent->params);

params覆盖$parent$this->params

于 2014-10-25T13:32:53.353 回答
1

回答我自己。

实际上并没有在支持 hack Collectionsarray_merge的函数列表下列出。

合并向量的最佳方法是函数addAll

<?hh
$a = Vector {"qux"};
$b = Vector {"foo","bar"};

$a->addAll($b);

var_dump($a);

在 Map 的情况下,它有点复杂,需要结合 foreach 和 addAll 来设置 Pair<Tk,Tv>

于 2014-04-22T23:51:23.763 回答