【问题标题】:Opposite condition producing required results in If Else statement在 If Else 语句中产生所需结果的相反条件
【发布时间】:2015-08-25 09:24:11
【问题描述】:

假设我有以下数组

[Agent - 134] => Array
        (
            [0] => Array
                (
                    [0] => 2015-07-14 12:03:33.089210
                    [1] => CONNECT
                )

            [1] => Array
                (
                    [0] => 2015-07-14 12:03:55.053394
                    [1] => COMPLETEAGENT
                )

            [2] => Array
                (
                    [0] => 2015-07-14 12:07:29.913989
                    [1] => CONNECT
                )

            [3] => Array
                (
                    [0] => 2015-07-14 12:07:56.693848
                    [1] => COMPLETECALLER
                )

            [4] => Array
                (
                    [0] => 2015-07-14 12:09:02.989649
                    [1] => CONNECT
                )

            [5] => Array
                (
                    [0] => 2015-07-14 12:09:35.608860
                    [1] => COMPLETEAGENT
                )

            [6] => Array
                (
                    [0] => 2015-07-14 12:11:56.564747
                    [1] => CONNECT
                )

            [7] => Array
                (
                    [0] => 2015-07-14 12:12:25.979910
                    [1] => COMPLETEAGENT
                )

            [8] => Array
                (
                    [0] => 2015-07-14 12:20:15.130092
                    [1] => CONNECT
                )

            [9] => Array
                (
                    [0] => 2015-07-14 12:20:45.843112
                    [1] => COMPLETEAGENT
                )

        )

我正在尝试计算事件之间的差异。完整事件的条件是前一个数组的第二个元素是CONNECT,而下一个数组的第二个元素是COMPLETEAGENTCOMPLETECALLER。我编写了以下代码来循环遍历 where 以进行测试,我的 If 语句应该满足条件,但它的 else 有效,这让我相信我的比较语法中可能有问题,我不确定.

foreach ($ttt_array as $tKey => $value) {
        $ttt_total = 0;
        for ($i = 0; $i < count($value);
        ) {
            if (($value[$i][1] === "CONNECT" && $value[$i + 1][1] === "COMPLETEAGENT") || ($value[$i][1] === "CONNECT" && $value[$i + 1][1] === "COMPLETECALLER")) {
                $i+=1;
                echo $i;
            } else {

                $srtTime = strtotime($value[$i][0]);
                echo "Start-Time" . $srtTime . "<BR>";
                $endTime = strtotime($value[$i + 1][0]);
                echo "End-Time" . $endTime . "<BR>";
                $interval = $endTime - $srtTime;
                echo "Interval" . $interval . "<BR>";
                $ttt_total += $interval;
                $i+=2;
            }
        }
        $ttl_talk_total[$tKey] = timeConverter($ttt_total);
    }

$ttt_array 是上面显示的数组。 if 语句有什么不正确的地方?

【问题讨论】:

  • 对 if 语句使用 == 符号
  • === 是可用的,php.net/operators - 它也检查类型:)

标签: php arrays if-statement for-loop


【解决方案1】:

"COMPELETEAGENT"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多