Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Laravel - Fatal编程技术网

Php 如何合并两个数组,然后缩短结果数组,因为合并的数组值首先与键值无关

Php 如何合并两个数组,然后缩短结果数组,因为合并的数组值首先与键值无关,php,arrays,laravel,Php,Arrays,Laravel,$community获得所有社区。 $starred communities获得所有starred communities。 然后两者合并 下面是代码: $communities = Community::all(); $starred_communities = StarredCommunity::where('user_id',1)->get(); $communities = $communities->merge($starred_communities); 我想结果数组应

$community获得所有社区。 $starred communities获得所有starred communities。 然后两者合并

下面是代码:

$communities = Community::all();
$starred_communities = StarredCommunity::where('user_id',1)->get();
$communities = $communities->merge($starred_communities);

我想结果数组应该在起始位置获得$starred_社区。目前,根据两条记录的主键,结果被短接。

这应该可以做到:

$communities = Community::all();
$starred_communities = StarredCommunity::where('user_id',1)->get();

$merged = $communities->toBase()->merge($starred_communities);
Illumb\Database\Eloquent\Collection
类使用Eloquent模型的
键(
id
默认情况下)作为索引,而
Illumb\Support\Collection
不关心这一点。

Try应该可以:

$communities = Community::get();
$starred_communities = StarredCommunity::where('user_id',1)->get();

$merged = $starred_communities->merge($communities);

当你以这种方式合并它们时会发生什么?根据primarry Keys,它会缩短结果。我没有得到你。你能用想要的$communities输出样本编辑你的问题吗?你现在得到了什么?我不知道你所说的短数组是什么意思。你能给出一个真实的例子吗?你的意思是你想要一个数组,其中第一个条目是星号社区,然后是普通社区?像这样的
[starred,starred,normal,normal…]
抱歉,看起来我把变量翻转了。我更新了这个例子