【问题标题】:issues with php if statement within foreach loopforeach循环中的php if语句问题
【发布时间】:2012-09-23 19:49:44
【问题描述】:

我确实对此进行了快速搜索,但找不到与我的问题相关的任何内容。我在 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 个选项的 value=""。 $get_article_info->category_1 在单独回显时有效,即使没有找到,我也希望 if 语句回显 12 个选项而没有任何选择(与第一个代码示例相同)。

【问题讨论】:

    标签: php if-statement foreach


    【解决方案1】:

    你使用的是= 而不是== 你应该改变

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

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

    【讨论】:

    • 看准了!干杯,轻微的疏忽。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-02
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多