Php 合并两个数组,根据其属性保留合并元素的一个版本
我有三个数组,如下所示: $one = array ( array ( 'supplier_name' => 'SUP1', 'product_code' => 'ITM001', 'product' => 'Book', 'price' => '5500', ), array ( 'supplier_name' => 'SUP1', 'product_code' => 'ITM002', 'product' => 'Pencil', 'price' => '1500', ), array ( 'supplier_name' => 'SUP1', 'product_code' => 'ITM002', 'product' => 'Eraser', 'price' => '1750', ), ) $two = array ( array ( 'supplier_name' => 'SUP2', 'product_code' => 'SP001', 'product' => 'Book', 'price' => '5250', ), array ( 'supplier_name' => 'SUP2', 'product_code' => 'SP002', 'product' => 'Pencil', 'price' => '1550', ), array ( 'supplier_name' => 'SUP2', 'product_code' => 'SP002', 'product' => 'Ruler', 'price' => '2300', ), ) $three = array ( array ( 'supplier_name' => 'SUP3', 'product_code' => 'BRG01', 'product' => 'Book', 'price' => '5250', ), array ( 'supplier_name' => 'SUP3', 'product_code' => 'BRG02', 'product' => 'Ruler', 'price' => '2350', ), array ( 'supplier_name' => 'SUP3', 'product_code' => 'BRG02', 'product' => 'Drawing book', 'price' => '4500', ), ) 如何删除价值较高的重复项,并仅获取所有项目的较低价格Php 合并两个数组,根据其属性保留合并元素的一个版本,php,arrays,Php,Arrays,我有三个数组,如下所示: $one = array ( array ( 'supplier_name' => 'SUP1', 'product_code' => 'ITM001', 'product' => 'Book', 'price' => '5500', ), array ( 'supplier_name' => 'SUP1
Array
(
[0] => Array
(
[supplier_name] => SUP2
[product_code] => SP001
[product] => Book
[price] => 5250
)
[1] => Array
(
[supplier_name] => SUP1
[product_code] => ITM002
[product] => Pencil
[price] => 1500
)
[2] => Array
(
[supplier_name] => SUP1
[product_code] => ITM002
[product] => Eraser
[price] => 1750
)
[3] => Array
(
[supplier_name] => SUP2
[product_code] => SP002
[product] => Ruler
[price] => 2300
)
[4] => Array
(
[supplier_name] => SUP3
[product_code] => BRG02
[product] => Drawing book
[price] => 4500
)
)
请告知。谢谢。您似乎正在使用PHP。虽然使用唯一的命名密钥映射产品会更好、更省力,但这里有一种解决问题的方法 不要使用array\u merge,因为它不允许您使用回调来只保留更便宜的产品 这里是一个可以使用的伪代码,而不是我提供的未经测试的php。使其适应您的源代码 //一切都有开始。 数组\结果=数组 //浏览阵列1 对于阵列的每个项目1 已找到\u项=false //对于array1的每个产品,在array2中寻找相同的产品 对于阵列2的每个项目2 如果是相同的产品项目1,项目2 如果item1.price
Array
(
[0] => Array
(
[supplier_name] => SUP2
[product_code] => SP001
[product] => Book
[price] => 5250
)
[1] => Array
(
[supplier_name] => SUP1
[product_code] => ITM002
[product] => Pencil
[price] => 1500
)
[2] => Array
(
[supplier_name] => SUP1
[product_code] => ITM002
[product] => Eraser
[price] => 1750
)
[3] => Array
(
[supplier_name] => SUP2
[product_code] => SP002
[product] => Ruler
[price] => 2300
)
[4] => Array
(
[supplier_name] => SUP3
[product_code] => BRG02
[product] => Drawing book
[price] => 4500
)
)