2012-10-20 89 views
0

我有這種奇怪的情況,我想不出一個解決方案。基於另一個增量變量的增量

我有一個變量$cat_count = 1;,我在循環中使用它,然後在我使用它的地方下面執行$cat_count++

然後我有另一個字母計數器,它的工作方式如下:

我有$alpha_string = 'abcdefghijklmnopqrstuvwxyz';$alpha_counter = 0;。我用下面的方式 - $alpha = $alpha_string{$alpha_counter}。我希望我的字母計數器從一個開始計數,每當$cat_count增加一。

因此,例如,我們將有這樣的:

$cat_count = 1 
$alpha = a 
$alpha = b 

$cat_count = 2 
$alpha = a 
$alpha = b 

我得到暫時是這樣的:

$cat_count = 1 
$alpha = a 
$alpha = b 

$cat_count = 2 
$alpha = c 
$alpha = d 

想法?

謝謝。

+0

電話... $反= 0;每當$ cat_count遞增 – Hawili

+0

@Hawili我不明白,請告訴我你的意思。 – Aborted

+0

'$ c ='a'; $ C++; $ c ==='b';'也行,如果這就是你想要的 – pozs

回答

2

下我的意見的回答..

$counter  = 0; 
$cat_count  = 1; 
$alpha_count = 'abcdefghijklmnopqrstuvwxyz'; 
$rule_id  = null; 
$public_cats = array(); 

while ($row = $db->sql_fetchrow($result)) 
{ 
    if ($rule_id != $row['rule_id']) 
    {  
     $group_ids = array_map('intval', explode(' ', $row['groups'])); 
     $is_grouped = false; 

     // Check if user can see a specific category if he is not an admin or moderator 
     if (!$auth->acl_get('a_') && !$auth->acl_get('m_')) 
     { 
      $is_grouped = (group_memberships($group_ids, $user->data['user_id'], true)) ? true : false; 
     } 
     else 
     { 
      $is_grouped = true; 
     } 

     // Fill $public_cats with boolean values 
     if ($is_grouped !== false) 
     { 
      $public_cats[] = $is_grouped; 
     } 

     $rule_id = $row['rule_id']; 

     $template->assign_block_vars('rules', array(
      'RULE_CATEGORY' => $row['rule_title'], 
      'ROW_COUNT'  => $cat_count, 
      'CAN_SEE_CAT' => $is_grouped 
     )); 

     $cat_count++; 
     $counter = 0; 
    } 

    $uid = $bitfield = $options = ''; 
    generate_text_for_storage($row['rule_desc'], $uid, $bitfield, $options, $row['bbcode'], $row['links'], $row['smilies']); 

    $template->assign_block_vars('rules.rule', array(
     'RULE_DESC'  => generate_text_for_display($row['rule_desc'], $uid, $bitfield, $options), 
     'ALPHA_COUNT' => $alpha_count{$counter} 
    )); 

    $counter++; 
} 
+0

太好了,謝謝.. – Aborted