给定以下代码
<?hh
$a = Vector {"qux"};
$b = Vector {"foo","bar"};
$a = array_merge($a, $b);
引发以下错误:
警告:使用了无效的操作数类型:array_merge 需要数组
向量和地图是否有任何解决方法array_merge
,而无需手动制作向量?
好吧,我想合并地图,发现您也可以使用该setAll()
方法。
$this->params->setAll($parent->params);
的params
覆盖$parent
键$this->params
回答我自己。
实际上并没有在支持 hack Collectionsarray_merge
的函数列表下列出。
合并向量的最佳方法是函数addAll。
<?hh
$a = Vector {"qux"};
$b = Vector {"foo","bar"};
$a->addAll($b);
var_dump($a);
在 Map 的情况下,它有点复杂,需要结合 foreach 和 addAll 来设置 Pair<Tk,Tv>