ホームページ >バックエンド開発 >PHPチュートリアル >何が間違っているのか分からない、まだ無限ループのようだ
何が問題なのかわかりません。無限ループのようです
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->result(); function result() { while($_POST["m"]&&$_POST["n"]) { $outmap = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); $arr[20]=array(0); $j=0; do{ for($t=0;$t<$_POST["n"];++$t) { $array=array($arr[$t]); echo $outmap[$array]; } echo "\n"; $j++; echo $j; }while(combinatorics($arr,$_POST["m"],$_POST["n"])); } } function combinatorics($arr,$nMaxElm,$nDepth) { $n=$nDepth-1; for(++$arr[$n];$n>=0&& $arr[$n]>=$nMaxElm;++$arr[--$n]); if($n<0) return 0; for($t=$n+1;$t<$nDepth;++$t) $arr[$t] = $arr[$n]; return 1; } ?> <br><br><font color="#e78608">----- -解決策- ------------------</font><br>投稿者が while($_POST["m"]&&$_POST["n "])<br>if($_POST["m"]&&$_POST["n"]) に変更すると、プログラムは必要な結果を出力します。 <br><br><br><br></p> <fieldset> <legend>ディスカッション</legend> <br><?php<br><br>PHP コード<br><br>result();<br> function result()<br>{<br> while($_POST["m"]&&$_POST["n"])<br> {<br>$outmap = array(1,2,3, 4,5,6,7,8,9,10,11,12,13,14,15);<br>$arr[20]=array(0);<br>$j=0;<br> ……<br><br>のために{</fieldset>をしてください <br><font color="#e78608">------解決策---------</font><br><dl class="code">PHP コード<pre class="brush:php;toolbar:false"> while($_POST["m"]&&$_POST["n"]) <div class="clear"></div>