ホームページ > バックエンド開発 > PHPチュートリアル > この入れ子になった配列ループが間違っているかどうかわかる人はいますか?

この入れ子になった配列ループが間違っているかどうかわかる人はいますか?

WBOY
リリース: 2016-06-23 13:53:55
オリジナル
952 人が閲覧しました

function get_number_list($cat_id){ $sql=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('dept_category')." order by sort"); while($row=$GLOBALS['db']->fetch_array($sql)){   if($row){   $result=$GLOBALS['db']->query("select * from ".$GLOBALS['db']->table('number')." where dept=".$row['cat_id']." and cat_id='$cat_id' order by sort");	 while($rows=$GLOBALS['db']->fetch_array($result)){	    if($rows){	   $number_show[] = array(	          'id' => $rows['id'],			  'title' => $rows['title'],			  'user' => $rows['username']	   );	  }	 }        $cat_name[]=array(	      'sort' => $row['sort'],	      'cat_name' => $row['cat_name'],		  'topid' => $number_show	 );     }   }   return $cat_name; }
ログイン後にコピー

これはソース コード、これはスクリーンショットです:
これは静的ページ コードです:
<table width="99%" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">                             {foreach from=$dept_list name=dept_list item=dept}							  <tr bgcolor="#FFFFFF">                                <td height="25" colspan="2" class="bumen"> {$dept.cat_name}</td>                                </tr>							{foreach from=$dept.topid item=number}                              <tr bgcolor="#FFFFFF">                                <td width="46%" height="25" align="center">{$number.user}</td>                                <td width="54%" align="center">{$number.title}</td>                              </tr>							    {/foreach}							  {/foreach}                            </table>
ログイン後にコピー


ディスカッションに返信 (解決策)

number_show がクリアされていないため、取得される最初のレコードは次のとおりです。常にそこにあります。

なお、
rrree
$row はすでに While の状態になっていますが、この If が false の場合は while にまったく入らないため、if 判定を追加する必要はありません。

number_show がクリアされていないため、取得された最初のレコードは常に存在し、それ以降のレコードもすべて存在します。


それで、どうすればいいですか?

while($row=$GLOBALS['db']->fetch_array($sql)){   if($row){
ログイン後にコピー
は unset を使用して配列をクリアします。

お二人ともご回答ありがとうございます

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート