【发布时间】:2011-09-01 05:22:24
【问题描述】:
如何更改下面的代码,以便将每个部分添加在一起而不是混合在一起?如果屏幕上出现的一小部分是 123,它应该添加 12+3 并显示 15 而不是 123。我尝试过 sum_array 和其他东西,但是将 PARTS 与其他 PARTS 以小束的形式添加是行不通的。我只能让它显示下面的混合结果,或者以其他方式添加错误的部分或整个内容。
$data = mysql_query('SELECT weight FROM my_table WHERE session_id = "' . session_id() . '"');
$params = array();
while ($row = mysql_fetch_assoc($data)) {
$params[] = $row['weight'];
}
$combinations=getCombinations($params);
function getCombinations($array)
{
$length=sizeof($array);
$combocount=pow(2,$length);
for ($i=1; $i<$combocount; $i++)
{
$binary = str_pad(decbin($i), $length, "0", STR_PAD_LEFT);
$combination='';
for($j=0;$j<$length;$j++)
{
if($binary[$j]=="1")
$combination.=$array[$j];
}
$combinationsarray[]=$combination;
echo $combination . "<br>";
}
return $combinationsarray;
}
【问题讨论】:
-
我不确定你在做什么。似乎算法是问题,而不是php代码。但是,您的代码中没有“+”,因此不会添加。