2012-09-23 71 views
0

我確實對此有一個快速搜索,但找不到與我的問題有關的任何內容。我在foreach循環中遇到了if語句的問題。我從一個類中拉出類別列表,並從另一個類中選擇一個類別。下面的代碼(刪除了if語句)完美地工作,並返回12個帶有填充值的選項。問題與PHP if語句在foreach循環內

foreach ($user_info->categories as $key=>$category) { 
    $category_name = $user_info->category_names[$key]; 
    echo '<option value="'.$category.'">'.$category_name.'</option>'; 
} 

然而,當我加入if語句裏面如下:

foreach ($user_info->categories as $key=>$category) { 
    $category_name = $user_info->category_names[$key]; 
    if ($category = $get_article_info->category_1) { 
     echo '<option value="'.$category.'" selected="selected">'.$category_name.'</option>'; 
    } else { 
     echo '<option value="'.$category.'">'.$category_name.'</option>'; 
    } 
} 

我得到的與填充的文本選項列表,但所有十二個選項都有價值=「」。 $ get_article_info-> category_1在它自己的回顯上有效,即使沒有找到,我也希望if語句在沒有任何選擇的情況下回顯12個選項(與第一個代碼示例相同)。

回答

4

您正在使用的=代替==你應該改變

if ($category = $get_article_info->category_1) { 

if ($category == $get_article_info->category_1) { 
+0

現貨上!歡呼,小監督。 –