0

我确实对此进行了快速搜索,但找不到与我的问题有关的任何内容。我在 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>';
    }
}

我得到一个选项列表,其中填充了文本,但所有十二个选项都有 value=""。$get_article_info->category_1 在单独回显时有效,即使没有找到,我也希望 if 语句回显 12 个选项而没有任何选择(与第一个代码示例相同)。

4

1 回答 1

4

你正在使用=而不是== 你应该改变

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

  if ($category == $get_article_info->category_1) {
于 2012-09-23T19:50:16.690 回答