IF语句内部无法回显?

时间:2012-07-26 04:11:37

标签: php if-statement conditional echo

我遇到了最糟糕的错误......下面的代码正在按预期运行并按预期访问if语句的两半(我可以说因为我得到“TRUE”和“FALSE” '添加到错误日志中,并将它们添加到导致它们的条件的输出上方。)

但是,当我访问TRUE的{​​{1}}部分时,由于某种原因,它不会回显。我知道代码部分没有被跳过(因为if仍在运行)。

代码摘要:

逐步执行状态列表,输出HTML标记的一半(有条件地添加一个中间位),然后输出结尾一半。

error_log("TRUE");

1 个答案:

答案 0 :(得分:0)

尝试构建一个字符串,然后在末尾回显所有

function createStateOptions($country, $state) {
  $output = '';
  $sql = "SELECT * FROM tbl_state WHERE disabled != true AND deleted != true AND country = :country ORDER BY state ASC";
  $result = executeSQL($sql, array(':country' => $country));
  if (is_array($result)) {
    foreach ($result as $record) {
        $output = '<option value="' . htmlentities($record["state"], ENT_QUOTES) . '" ';
        if($state == $record["state"]) {
            $output .= " selected";
            error_log("TRUE");
        } else {
            error_log("FALSE");
        }
        $output .= '>' . htmlentities($record["state"], ENT_QUOTES) . '</option>';
        error_log("'".$state."' == '".$record["state"]."'"); 
        echo $output;
    }
  }
}