我确实对此进行了快速搜索,但找不到与我的问题有关的任何内容。我在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个选项(与第一个代码示例相同)。
答案 0 :(得分:4)
您使用=
代替==
您应该更改
if ($category = $get_article_info->category_1) {
要
if ($category == $get_article_info->category_1) {