Php 从两个不同的多维数组中获取唯一值
这是我的两个多维数组,我想得到唯一的值,当相同的IPProduct\u id的值出现时,然后减去fTotal\u数量。我需要帮助。先谢谢你 这是Array1Php 从两个不同的多维数组中获取唯一值,php,Php,这是我的两个多维数组,我想得到唯一的值,当相同的IPProduct\u id的值出现时,然后减去fTotal\u数量。我需要帮助。先谢谢你 这是Array1 Array( [0] => Array ( [iProduct_id] => 1 [fTotal_qty] => 200 ) [1] => Array ( [iProduct_id
Array(
[0] => Array
(
[iProduct_id] => 1
[fTotal_qty] => 200
)
[1] => Array
(
[iProduct_id] => 4
[fTotal_qty] => 100
)
)
这是Array2
Array
(
[0] => Array
(
[iProduct_id] => 1
[fTotal_qty] => 500
)
[1] => Array
(
[iProduct_id] => 2
[fTotal_qty] => 400
)
[2] => Array
(
[iProduct_id] => 6
[fTotal_qty] => 700
)
[3] => Array
(
[iProduct_id] => 4
[fTotal_qty] => 300
)
[4] => Array
(
[iProduct_id] => 5
[fTotal_qty] => 200
)
)
我想要这样的输出
iProduct_id = 1, fTotal_qty = 300
iProduct_id = 2, fTotal_qty = 400
iProduct_id = 6, fTotal_qty = 700
iProduct_id = 4, fTotal_qty = 200
您需要在php中使用数组映射函数
array_map(myfunction,array1,array2,array3...)
在这里,myfunction是一种包含逻辑的方法,用于对项目进行减法和合并
array1、array2、array3是可能包含数据的数组数。您需要在php中使用数组映射函数
array_map(myfunction,array1,array2,array3...)
在这里,myfunction是一种包含逻辑的方法,用于对项目进行减法和合并
array1、array2、array3是可能包含数据的数组数。您可以执行以下操作:
foreach($array1 as $index => $value) {
$key = array_search($value['iProduct_id'], $array2);
if($key) {
$newArray[$index]['iProduct_id'] = $value['iProduct_id'];
$newArray[$index]['fTotal_qty'] = $array2[$key]['fTotal_qty'] - $value['fTotal_qty'];
}
}
$finalArray = array_diff($array2,$newArray);
var_dump(array_merge($finalArray,$newArray));
我希望这会有所帮助。您可以执行以下操作:
foreach($array1 as $index => $value) {
$key = array_search($value['iProduct_id'], $array2);
if($key) {
$newArray[$index]['iProduct_id'] = $value['iProduct_id'];
$newArray[$index]['fTotal_qty'] = $array2[$key]['fTotal_qty'] - $value['fTotal_qty'];
}
}
$finalArray = array_diff($array2,$newArray);
var_dump(array_merge($finalArray,$newArray));
<?php
$one =
[
[
'id'=>1,
'amount' => 100
],
[
'id'=>2,
'amount' => 200
],
];
$two =
[
[
'id'=>1,
'amount' => 700
],
[
'id'=>2,
'amount' => 800
],
[
'id'=>3,
'amount' => 900
],
];
$one_id_amount = array_column($one, 'amount', 'id');
foreach($result = $two as $k => $v)
$result[$k]['amount'] -= $one_id_amount[$v['id']] ?? 0;
var_export($result);
我希望这会有帮助。测试答案:
<?php
$one =
[
[
'id'=>1,
'amount' => 100
],
[
'id'=>2,
'amount' => 200
],
];
$two =
[
[
'id'=>1,
'amount' => 700
],
[
'id'=>2,
'amount' => 800
],
[
'id'=>3,
'amount' => 900
],
];
$one_id_amount = array_column($one, 'amount', 'id');
foreach($result = $two as $k => $v)
$result[$k]['amount'] -= $one_id_amount[$v['id']] ?? 0;
var_export($result);
我希望这会有帮助。测试答案:
<?php
$one =
[
[
'id'=>1,
'amount' => 100
],
[
'id'=>2,
'amount' => 200
],
];
$two =
[
[
'id'=>1,
'amount' => 700
],
[
'id'=>2,
'amount' => 800
],
[
'id'=>3,
'amount' => 900
],
];
$one_id_amount = array_column($one, 'amount', 'id');
foreach($result = $two as $k => $v)
$result[$k]['amount'] -= $one_id_amount[$v['id']] ?? 0;
var_export($result);
我希望这会有所帮助。数组1中的项目是否总是在数组2中出现?是的,某些项目总是在数组中出现array2@UrvishPatel什么东西?因此,有可能阵列1中的某些项目在阵列2中不存在,反之亦然?I Product_id和fltotal_数量之间的关系如何。阵列1中的项目是否始终存在于阵列2中?是的,某些项目始终存在于阵列中array2@UrvishPatel什么东西?因此,有可能数组1中的某些项目在数组2中不存在,反之亦然?I Product_id和fltotal_qty之间的关系是什么?检查此函数检查此函数
<?php
$one =
[
[
'id'=>1,
'amount' => 100
],
[
'id'=>2,
'amount' => 200
],
];
$two =
[
[
'id'=>1,
'amount' => 700
],
[
'id'=>2,
'amount' => 800
],
[
'id'=>3,
'amount' => 900
],
];
$one_id_amount = array_column($one, 'amount', 'id');
foreach($result = $two as $k => $v)
$result[$k]['amount'] -= $one_id_amount[$v['id']] ?? 0;
var_export($result);