php while循环附加条件不符合预期

热尔加利布

我有这段代码:

        $i=0;
        while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){
*(line 133)*    if (array_search("SUCCESS", $row) != false) {
                echo "<tr class='success'>";
            }
            elseif (array_search("ERROR", $row) != false) {
                echo "<tr class='danger'>";
            }
            else {
                echo "<tr>";
            }
                foreach ($row as $rowData) {
                    if ($rowData == "SUCCESS") {
                        echo "<td><span class='mdi-navigation-check'></span></td>";
                    }
                    elseif ($rowData == "ERROR") {
                        echo "<td><span class='mdi-navigation-close'></span></td>";
                    }
                    else {
                        if (gettype($rowData) == "object") {
                            echo "<td>" . $rowData->format('Y-m-d H:i:s') . "</td>";
                        } else {
                            echo "<td>" . $rowData . "</td>";
                        }
                    }
                }
                if (isset($row["cMsgID"])) {
                    echo "<td><a href='#' onclick='window.open(\"/monitor/templates/history.php?cMsgID=" . $row["cMsgID"] . "\", \"history\", \"status=1, toolbar=1 width=800px, height=400px\")'>History</a></td>";
                }
            echo "</tr>";
            $i++;
        }

但是,当我在while循环中添加第二个条件时,$row变量变为布尔值true

$i
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) && $i < 10){
*same code as above*}

第一个php错误消息:警告:array_search()期望参数2为数组,在第133行的C:\ wamp32bit \ www \ monitor \ templates \ mainContent.php中给出布尔值

我已经搜索了这个问题,但是所有这些都与错误的语法或彼此排斥的条件有关。

为什么会这样?

华盛顿莫雷拉

您的问题只是语法,因此您总是向$ row分配布尔值。

$row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC) && $i < 10

正确的方法是

($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) && $i < 10

在最后一种情况下,您可以将if语句放入循环中,如下所示:

$i=0 while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)){ if ($i < 10) { *do something* } else { break; } }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

while循环的行为不符合预期?

来自分类Dev

while 循环的变量输出不符合预期

来自分类Dev

Youtube Analytics API PHP无效的查询。查询不符合预期

来自分类Dev

Youtube Analytics API PHP无效的查询。查询不符合预期

来自分类Dev

循环的Javascript不符合我的预期

来自分类Dev

For 循环输出不符合预期

来自分类Dev

如果条件不符合预期

来自分类Dev

while(f) 行为不符合预期

来自分类Dev

循环 for,条件 2,不符合

来自分类Dev

PHP的exec()打印输出-似乎不符合规范

来自分类Dev

循环功能不符合我的预期。C

来自分类Dev

循环功能不符合我的预期。C

来自分类Dev

循环浏览目录的行为不符合预期

来自分类Dev

对于循环不符合?

来自分类Dev

条件不符合C

来自分类Dev

php json 到 javascript json 格式不符合要求的结果

来自分类Dev

PHP:554 消息不允许 - 标头不符合 RFC [291]

来自分类Dev

Coffeescript类的行为不符合预期

来自分类Dev

约束不符合我的预期

来自分类Dev

文件内容不符合预期

来自分类Dev

SSLContext模拟行为不符合预期

来自分类Dev

AtomicInteger增量不符合预期

来自分类Dev

类型n的行为不符合预期

来自分类Dev

面料环境不符合预期

来自分类Dev

Javascript日期比较不符合预期

来自分类Dev

CancellationTokenSource的行为不符合预期

来自分类Dev

引导表不符合预期

来自分类Dev

Opencl减少不符合预期

来自分类Dev

RecyclerView onBindViewHolder位置不符合预期