2012-09-23 66 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

现货上!欢呼,小监督。 –