if / elseif / else只返回第一个条件

时间:2015-05-19 16:52:58

标签: php if-statement pdo modx

我遇到以下if / elseif / else语句的2个问题:

$rows = array();
$stmt = $dbconnection->query("SELECT * FROM TABLE_NAME WHERE data_field LIKE 'data_selection'");
if ($stmt) {
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        array_push($rows, $row);

        if ($row['something '] == 'selection1') {
            $highlightsarray = array("gridHighlights" => 'text option 1 to display on site');
            $highlights = $row + $highlightsarray;
                } elseif ($row['something'] == 'selection2') {
            $highlightsarray = array("gridHighlights" => 'text option 2 to display on site');
            $highlights = $row + $highlightsarray;
                } else {
            $highlights = "<p>default messaging</p>";
        }
        $fields = $highlights; // this is a placeholder for other if statements I need to add
        $output .= $modx->getChunk('chunk_name', $fields);

    }
}
return $output;
}

我遇到的第一个问题是==没有返回任何结果,如果我将其更改为=,那么它会有所效果。

如果我发表我的陈述($row['something '] = 'selection1')(只有=),那么它只返回第一个if条件,即使它不是真的并且应该返回{ {1}}或elseif条件。

不确定我在这里做错了什么,非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

结束这个问题,按照建议执行var_dump并查看我的字符串就可以了。这是最终使用的代码:

<protocolMapping>
  <add binding="customBinding" scheme="http" />
</protocolMappings>