下面的代碼將不會工作,因爲這條線$params=array($data);
。它需要非$數據的東西。或者在這行之前需要使用$數據發生的事情。從MySQL導入的數組可以工作,但數組不能被php用作數組?
如果該行被寫爲$ PARAMS =陣列( 「A」, 「B」, 「C」, 「d」);那麼它工作的很好,但我的數組是在$ data變量中,而不是像這樣寫出來的。如果有辦法讓數組轉換成這樣寫出來,那也可以。
最終結果應顯示每個可能的組合(未組合)的數組的內容。就像在上面的例子中,它顯示了ABC,BD等。
$data = mysql_query('SELECT weight FROM my_table WHERE session_id = "' . session_id() . '"');
$params=array($data);
$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;
}
感謝它的工作! –