2012-01-28 129 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> 
          "; 
          } 

请让我知道如果我在这里犯了什么错误,对不起我的坏英语。