使用“echo”进行预选不能按预期运行

时间:2015-04-15 01:23:08

标签: php

我正在尝试制作个人资料设置页面,预先选择已定义的国家/地区。但是出于某种原因,我的代码根本没有选择任何东西。

(例如,而不是United States已被选中,根本没有选择。)

PHP:

function selectCountry($country) {
  if($_SESSION['user_country'] == $country) {
    echo ' selected';
  }
}

HTML:

<option value="United Kingdom" ' . selectCountry("United Kingdom") . '>United Kingdom</option>
<option value="United States" ' . selectCountry("United States") . '>United States</option>
<option value="United States Minor Outlying Islands" ' . selectCountry("United States Minor Outlying Islands") . '>United States Minor Outlying Islands</option>
<option value="Uruguay" ' . selectCountry("Uruguay") . '>Uruguay</option>

如果我需要提供其他任何内容,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:4)

您的selectCountry函数应该返回String而不是echo。返回' selected'或空字符串(如果不匹配)。

以下是应该起作用的函数的语法:

function selectCountry($country) {
    if($_SESSION['user_country'] == $country) {
        return ' selected';
    } else {
        return '';
    }
}

请注意,在PHP中,您不定义变量类型或函数返回值。