在laravel中合并两个数组值
Posted
技术标签:
【中文标题】在laravel中合并两个数组值【英文标题】:merge two array value in laravel 【发布时间】:2017-02-22 13:29:42 【问题描述】:我想在 laravel 5.3 中合并两个数组。我有返回变量 '$type'
`Illuminate\Support\Collection Object ( [items:protected] => Array ( [1] => rinu )`
从查询中得到
$type0=DB::table('users')->where('name','=',$head)->pluck('name','id');
我想与返回的数组 $type1 合并
Illuminate\Support\Collection Object ( [items:protected] => Array ( [2] => john ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( [3] => dinesh ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( [4] => mahesh ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( ) )
$type1=DB::table('users')->where('name','=',$head)->pluck('name','id');
我尝试将其合并并存储在 $type0 中;
$type0=$type0->merge($type1);
返回错误的值
Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => rinu [1] => john ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh [3] => mahesh ) )
Illuminate\Support\Collection Object ( [items:protected] => Array ( [0] => rinu [1] => john [2] => dinesh [3] => mahesh ) )`
enter code here
【问题讨论】:
【参考方案1】:如果你想接收合并的array
(而不是collection
),你可以使用toArray()
和array_merge()
函数:
$mergedArray = array_merge($type0->toArray(), $type1->toArray());
【讨论】:
在 7BB347C8C194579700A647DADD62EA3D8E0AB68A.php 行 358 中捕获 FATALERROREXCEPTION:在阵列上调用成员函数 TOARRAY()【参考方案2】:您似乎对每个值都有一个集合。因此,您可能是独立获取每个值,而不是一次性获取。
您的问题可能通过使用whereIn 而不是多个where
s 来解决。
$result = DB::table('users')
->whereIn('name', ['John', 'Dinesh', 'Mahesh'])
->get();
【讨论】:
以上是关于在laravel中合并两个数组值的主要内容,如果未能解决你的问题,请参考以下文章
如果键值相同,如何合并 laravel 集合?或添加新的数据行