While は PHP で最もよく使われる関数で、私はこれを長い間観察してきましたが、多くの人はそれに慣れていて内部で何が起こっているかを知らないため、習慣的に入力しているだけです
;まず、while ループが 1 秒間に何回実行できるかをテストします。
$time1 = microtime(true);
$i =0;
その間(1)
{
$i++;
if(microtime(true)- $time1 >1)
{
echo $i;
exit();
}
}
?>
ランニング結果389443;
while は、括弧内の条件が true の場合に実行されることを意味します。これはまったく正しいです
したがって、while(1) は無限ループです。
例 1:
$sql = "select * from table";
$result = mysql_query($sql);
while($arr = mysql_fetch_assoc($result))
{
}
これは、 while 括弧内の $arr = mysql_fetch_assoc($result); が確立されると、の実行を継続するということです。
$arr = mysql_fetch_assoc($result);このクエリが初めて実行されると、ポインタは最初の行に配置されます。2 回目にクエリを実行すると、結果が見つからない場合は実行されません。 false が返されます
間違ったスペル:
$sql = "select * from table";
$result = mysql_query($sql);
$arr = mysql_fetch_assoc($result));
while($arr = mysql_fetch_assoc($result))
{
}
この実行の結果は 1 行減ります例 2: 2 つの部分からなるアルゴリズム
while($ip1num>$ipNum $ip2num
{
}
これは IP アドレスに対応する実際のアドレスを取得する discuz の関数ですこの機能のファイルパッケージは添付ファイルにあります
単に
に分割するだけです
while($a>1 $b
{
}
また解体する
while($a >1)
{
}
while($b
{
}
$a が最初に値を持つ場合、$a =1 の場合;
その場合、実行は続行されず条件は成立しません
または $a =2;
これにより、無限ループが作成されます;
重要なポイント
$a に最初に値が付加されていない場合
最初はいつも間違いだと思っていましたが、実際には彼が間違っているわけがありません、
ここがphpと違うところです
プログラムを通じてテストするだけです
$i =0;
while($a
{
$i++;
if(microtime(true)- $time1 >1)
{
echo $i;
$a =1;
}
}
?>
ランニング結果
272487;
while($a
プログラム $a =1;
内の括弧内の値が再度取得されるまで実行を続けます。$a<1 が確立されていない場合、実行は停止します;
ということで
while($a>1 $b <1)
{
}
括弧内の実行が $a<=1 および $b>=1 に達したとき、2 つの条件が true のときに実行が終了するということを理解します
これが二分アルゴリズムです
これらの両方を理解していれば、基本的に while は非常に明確になります
(1) は非常に巨大ですが、
本来はDOS攻撃のソースコードを掲載したかったのですが、うっかりあまりにも記事を宣伝しすぎてしまうと困ると思いました。
dos のソース コードは非常に単純です。上記のことを理解していれば、非常に簡単に作成できます。
Ddos は、コール マスターを介して異なるサーバー Web サイト上のプログラムを呼び出し、それらを同時に実行することで DDoS を形成します。重要なのはチキンの数です。