對於while if foeach 等迴圈的理解

2021-08-19 21:43:14 字數 460 閱讀 7761

一,for($i=1;$i<=5;$i++)

此串**會出現死迴圈,在while迴圈裡當程式執行到echo 1;時會再返回while()繼續執行迴圈。因此出現死迴圈。解決方法在echo1;後邊加上++$i;以此不滿足while的條件條件跳出迴圈。

while迴圈條只給乙個永遠為真的條件,就會永遠迴圈下去。如while(1)

二,for($i=1;$i<=4;$i++){

foreach(array(0,1,3) as $i) {  

echo "數字是:";

也會產生死迴圈,產生原因foreach遍歷後的賦值的變數與for迴圈變數一樣,並且for中$i最大值大於foreach最後陣列遍歷的最大值,所以整段**會卡在foreach賦值3後到if中去執行這段,解決方法要不foreach中最後對$i的賦值大於if中的最後對$i的賦值。前者迴圈for執行次數乘以foreach遍歷的次數,後這執行次數為for迴圈此數。

對於物件查詢

結論 對於物件查詢 1 使用list的時候會將物件全部取出,而使用iterate則只先將物件主鍵取出,然後在使用的時候再乙個個取出。2 list第二使用的時候會繼續重新資料庫中取出,而iterate則會先成快取中查詢,如果沒找到再去資料庫中取出。對於屬性查詢 條件 查詢快取關閉 兩者沒什麼差別,根據...

對於物件查詢

對於物件查詢 1 使用list的時候會將物件全部取出,而使用iterate則只先將物件主鍵取出,然後在使用的時候再乙個個取出。2 list第二使用的時候會繼續重新資料庫中取出,而iterate則會先成快取中查詢,如果沒找到再去資料庫中取出。對於屬性查詢 條件 查詢快取關閉 兩者沒什麼差別,根據查詢物...

對於order by子句

order by子句指定排序順序 select username from user order by username 依據username的字母順序對於查詢出來的username進行排序,預設是公升序 a z 也可以進行降序排序,必須指定desc關鍵字 在上面的sql語句變為 select us...