你好,我試圖讓我的循環動態計數向後或向前。 (處理正面負面和負面正面)動態For循環(向前或向後計數)
下面是我的代碼,但它似乎並沒有正常工作。 (我不明白如何用變量將+1從+1更改爲-1)
function _allbetween($coords1, $coords2) {
$blocks = "";
if ($coords2[0] == 0 || $coords2[1] == 0 || $coords2[2] == 0) {
$temp2 = $coords2[0].",".$coords2[1].",".$coords2[2];
$temp1 = $coords1[0].",".$coords1[1].",".$coords1[2];
$coords1 = explode(",", $temp2);
$coords2 = explode(",", $temp1);
}
for ($i=0; $i<=2; $i++)
{
if (substr($coords2[$i],0,1) == "-") { //if the value is negative
$step[$i] = "--"; //substract the for loop
} else { //else
$step[$i] = "++"; //add the for loop
}
}
for ($i1=$coords1[0]; $i1<=$coords2[0]; $i1.$step[0])
{
for ($i2=$coords1[1]; $i2<=$coords2[1]; $i2.$step[1])
{
for ($i3=$coords1[2]; $i3<=$coords2[2]; $i3.$step[2])
{
$blocks.= $i1.",".$i2.",".$i3."|";
}
}
}
return $blocks;
}
任何人都看到我在做什麼錯了?
我真的不明白你在做什麼......你能詳細說明一下嗎? –
我正在計算基於體素的遊戲中兩個點之間的所有塊位置,使用兩組座標。我試圖支持網格上的負值(-1,0,0),在一些其他語言中,要求for循環被指示向後計數而不是向前計數,但是我發現php會自動計算這個值。 –