在foreach循环中使用php if语句的问题

时间:2012-09-23 19:49:45

标签: php if-statement foreach

我确实对此进行了快速搜索,但找不到与我的问题有关的任何内容。我在foreach循环中遇到if语句的问题。我从一个类中提取类别列表,从另一个类中选择一个类别。下面的代码(删除了if语句)工作正常,并返回12个带有填充值的选项。

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>';
    }
}

我得到了填充文本的选项列表,但所有12个选项都有值=“”。 $ get_article_info-&gt; category_1在它自己回显时起作用,即使没有找到,我也希望if语句在没有任何选择的情况下回显12个选项(与第一个代码示例相同)。

1 个答案:

答案 0 :(得分:4)

您使用=代替==您应该更改

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

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