我很確定你可以在while循環中放置一個while循環,就像我之前做過的一樣,但是我似乎在這裏遇到了一個問題。由於這是非常複雜的,生病發布我的代碼然後解釋它。while while while循環while循環
PHP:
//post vars
$port=$_POST['ports'];
$super=$_POST['super'];
$col=$_POST['columns'];
$row=$_POST['rows'];
//rest of vars
$half_col=$col/$super;
$halfer_col=$col/$super;
$i=1;
$count=1;
$and=1;
$one=1;
$sector=array();
$dat_array=array();
echo $port."<br>";
echo $super."<br>";
echo $col."<br>";
echo $row."<br><br><br><br>";
echo "<h1>here goes nothen</h1><br><br>";
while($count<$port){
while($i<=$half_col){
$dat_array[]=$halfer_col;
$i+=$and;
$halfer_col-=$and;
echo "<br>halfer_col:".$halfer_col."<br>";
}
print_r($dat_array);
$sector[]=implode(',',$dat_array);
$count+=$half_col;
$halfer_col+=$half_col;
}
echo "<br><br>ANNNNNNND...<br><br>";
print_r($sector);
現在,這是與用戶輸入端口:24個超:2欄:12行:2 結果:
24
2
12
2
here goes nothen
halfer_col:5
halfer_col:4
halfer_col:3
halfer_col:2
halfer_col:1
halfer_col:0
Array ([0] => 6 [1] => 5 [2] => 4 [3] => 3 [4] => 2 [5] => 1) Array ([0] => 6 [1] => 5 [2] => 4 [3] => 3 [4] => 2 [5] => 1) Array ([0] => 6 [1] => 5 [2] => 4 [3] => 3 [4] => 2 [5] => 1) Array ([0] => 6 [1] => 5 [2] => 4 [3] => 3 [4] => 2 [5] => 1)
ANNNNNNND...
Array ([0] => 6,5,4,3,2,1 [1] => 6,5,4,3,2,1 [2] => 6,5,4,3,2,1 [3] => 6,5,4,3,2,1)
基本上,它需要用戶輸入,根據「,」將其分解爲探測器順序。但從我可以告訴,它不是在這裏添加:$halfer_col+=$half_col;
這是導致數據不增加,任何想法任何人?或者甚至解釋爲什麼這不會添加和影響我的內部while循環的方式,它被設置。
到底最終陣列應該像這樣:
Array ([0] => 6,5,4,3,2,1 [1] => 12,11,10,9,8,7 [2] => 18,17,16,15,14,13 [3] => 24,23,22,21,20,19)
你想要什麼輸出? (可能有另一種方法) – h2ooooooo
也許你打算每次都重新啓動內部循環,每次都是$ i = 1?就像現在這樣,在外循環第一次運行期間,$ i只是小於$ half_col。 –
@ h2ooooooo我添加了最後的打印數組應該看起來像 – Nick