2012-01-28 130 views
0

任何幫助表示讚賞。 我有一個這樣的forfetch數組。原因是在單個陣列中制動產品。但是我無法弄清楚在while循環中放置什麼語句,所以我可以遍歷$ row中的每個數組。最初的聲明應該是PHP雖然循環陣列

while ($row = mysql_fetch_assoc($result)) 

但是,這已經可以排序數組了。

$sorted = array_orderby($newarray, 'volume', SORT_DESC, 'edition', SORT_ASC); 


foreach($sorted as $row) 
{ 

    while( ??????? ) 

{ 
    $row = build_items($row); 



     $template->assign_block_vars('featured_items', array(
      'ID' => $row['id'], 
      'IMAGE' => $row['pict_url'], 
      'TITLE' => $row['title'], 
      'SUBTITLE' => $row['subtitle'], 
      'BUY_NOW' => ($difference < 0) ? '' : $row['buy_now'], 
      'B_BOLD' => ($row['bold'] == 'y') 
     )); 
     $k++; 
     $feat_items = true; 
    } 
} 

剛剛找到答案。對不起,我在PHP新手。

foreach($sorted AS $row) { 


     $row = build_items($row); 

     // time left till the end of this auction 
     $s_difference = time() - $row['starts']; 
     $difference = $row['ends'] - time(); 
     $bgcolour = ($k % 2) ? 'bgcolor="#FFFEEE"' : ''; 

     $template->assign_block_vars('featured_items', array(
      'ID' => $row['id'], 

      'IMAGE' => $row['pict_url'], 
      'TITLE' => $row['title'], 
      'SUBTITLE' => $row['subtitle'], 
      'BUY_NOW' => ($difference < 0) ? '' : $row['buy_now'], 
      'BID' => $row['current_bid'], 
      'BIDFORM' => $system->print_money($row['current_bid']), 
      'TIMELEFT' => FormatTimeLeft($difference), 
      'NUMBIDS' => $row['num_bids'], 

      'B_BOLD' => ($row['bold'] == 'y') 
     )); 
     $k++; 
     $feat_items = true; 

} 

回答

5
foreach($sorted AS $rows) { 
    foreach($rows AS $row) { 
    ... 
    } 
} 

或鍵/索引

foreach($sorted AS $key => $rows) { 
    foreach($rows AS $index => $row) { 
+1

while語句是否一樣? – user1170117 2012-01-28 06:49:03

+0

我從來沒有使用過,沒有任何意義。無論如何,你可以用相同的方式「嵌套」while循環。 – djot 2012-01-28 06:51:45

+0

當我嘗試同時($行AS $行)我得到一些奇怪的錯誤我不認爲這實際上工作。我編輯了這篇文章。這個while循環的原始數據是while($ row = mysql_fetch_assoc($ result)),但是因爲在我需要弄清楚什麼是新語句之前就已經完成了。 – user1170117 2012-01-28 15:08:17

0

是......,我們可以使用的foreach打印在陣列中的所有值。

例如:我有一個名爲「數據」(SQLITE動態數據)的數組。我想打印「數據」數組上的所有值。 通過使用下面的示例代碼,我們可以打印表格格式的值。

foreach ($data as $item) { 
           $date = $item['date']; 
           $url = $item['url']; 
           $name = $item['name']; 

          echo"        
          <tr> 
            <td>$date</td> 
            <td>$name</td> 
            <td>$url</td> 
            </tr> 
          "; 
          } 

請讓我知道如果我在這裏犯了什麼錯誤,對不起我的壞英語。