/**
* 得到数组里面两个不重复的数字之和
* @param $array ['a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5]
* @param $count 2
* @return array
*/
function getSumFromArray($array, $count = 2)
{
if ($count > 2) {
$totalArr = [];
$left = $count - 1;
$arrayCall = $array;
$indexer = 0;
foreach ($arrayCall as $key => $item) {
$pre = $item;
unset($arrayCall[$key]);
if ($left >= 2 && count($arrayCall) > 1) {
$arrays = getSumFromArray($arrayCall, $left);
foreach ($arrays as $arrayK => $arrayItem) {
array_unshift($arrayItem['key'], $key);
array_unshift($arrayItem['value'], $item);
$totalArr[$indexer] = ['key' => $arrayItem['key'],'value' => $arrayItem['value'], 'amount' => bcadd($pre, $arrayItem['amount'], 2)];
$indexer++;
}
}
}
return $totalArr;
} elseif ($count == 2) {
$list = [];
$listK = 0;
foreach ($array as $column => $value) {
unset($array[$column]);
foreach ($array as $column1 => $value1) {
$list[$listK] = ['key' => [$column, $column1], 'value' => [$value, $value1], 'amount' => bcadd($value, $value1, 2)];
++$listK;
}
}
return $list;
} else {
return [];
}
}
php数组得到N个不重复的数字之和
于 2022-03-21 14:27:18 首次发布