我需要根据相同的键值合并两种不同的数组 第一阵列:
Array{
[0]=>Product{
[name]=>car
[type]=>honda
}
[1]=>Product{
[name]=>motorbike
[type]=>suzuki
}
[2]=>Product{
[name]=>superbike
[type]=>audi
}
[3]=>Product{
[name]=>car
[type]=>suzuki
}
}
第二阵列:
Array{
[0]=>Seller{
[name]=>andy
[handle] =>car
}
[1]=>Seller{
[name]=>davies
[handle] =>superbike
}
[2]=>Seller{
[name]=>kevin
[handle] =>motorbike
}
}
最终输出:
Array{
[0]=>Product{
[name]=>car
[type]=>honda
[seller]=>kevin
}
[1]=>Product{
[name]=>motorbike
[type]=>suzuki
[seller]=>kevin
}
[2]=>Product{
[name]=>superbike
[type]=>audi
[seller]=>davies
}
[3]=>Product{
[name]=>car
[type]=>suzuki
[seller]=>andy
}
}
所以从示例数组和我给出的输出。我试图将2个不同的数组合并为1. Array 1
是众多产品的列表,而Array 2
是卖家名称和信息的列表。我试图根据卖家的手柄分配每个产品。
因此,我尝试根据product[name]
和seller[handle]
的键值合并2个不同的数组,以生成final output
,如上所示
答案 0 :(得分:2)
这是一个非常标准的方法:
$result = array();
foreach ($sellers as $seller) {
// For each seller, loop through products and
// check if the name matches the sellers handle
foreach ($products as $product) {
if ($product['name'] == $seller['handle']) {
// When a product has a name that matches the seller's handle,
// add it to the result array
$result[] = array(
'name' => $product['name'],
'type' => $product['type'],
'seller' => $seller['name']);
}
}
}