这个PHP让我抓狂

时间:2017-06-02 17:46:15

标签: php arrays

我在"$hourtominute = date('H',strtotime($qData\[0\]\['totaltime'\]))*60;"收到此错误,它不会告诉我错误在哪里。它刚刚被标记为红色标记。你能帮我么。如果你不理解它,请让我知道,所以我可以更准确。该代码已经工作了4年,直到最后几个月。无法理解为什么它给我这个错误。 我也张贴了一张照片。

Here is the image

<?php 
$model = Passivatelog::model();
if(!empty($myValue)) { 
    //var_dump($myValue);

    $oPsv = Passivatelog::model();
    $oPsvRep = PassivatelogReport::model();

    $aReport = $oPsvRep->getReportByMachineId($myValue['report_machine']);
    $operator = $aReport['report_operator'];
    $machine = $aReport['report_machine'];
    $date = $aReport['report_date'];

    $aGroupedSteps = $model->getAllSteps();
?>
<div class="col-lg-6">
        <table class="table table-bordered">
            <tr>
                <th>Operator:</th>
                <th>Maskinnummer:</th>
                <th>Datum:</th>
            </tr>
            <tr>
                <td><?php echo $operator;?></td>
                <td><?php echo $machine;?></td>
                <td><?php echo $date; ?></td>
            </tr>
        </table>
        </div>
<div class="col-lg-12">
  <table class="table table-striped">
            <thead>
                <tr><th></th><th colspan="2">Temperatur</th><th colspan="2">PH Värde</th><th>Konduktivitet</th><th colspan="3">Tid</th></tr>
                <tr><th>Process</th><th>Start</th><th>Stop</th><th>Startvärde</th><th>Diff In/Ut</th><th>Medel</th><th>Start</th><th>Stop</th><th>Totaltid minuter</th></tr>
            </thead>
<?php            
    foreach($aGroupedSteps as $gstep) {
        $qData = $oPsv->getAllData($gstep->log_processname, $aReport['report_date'], $aReport['report_from'], $aReport['report_to']);
                $hourtominute = date('H',strtotime($qData[0]['totaltime']))*60;
                $minutetominute = date('i',strtotime($qData[0]['totaltime']));
                $totaltime = $hourtominute+$minutetominute;
                echo '
            <tr>
                <td>' . $gstep->log_processname . '</td>
                <td>'.$qData[0]['starttemp'].'</td>
                <td>'.$qData[0]['endtemp'].'</td>
                <td>'.(($qData[0]['startph']>0)? $qData[0]['startph']:'').'</td>
                <td>'.(($qData[0]['diffph']>0) ? number_format($qData[0]['diffph'],2) : '' ).'</td>
                <td>'.(($qData[0]['conductivity']>0)? number_format($qData[0]['conductivity'],0) : '').'</td>
                <td>'.$qData[0]['starttime'].'</td>
                <td>'.$qData[0]['endtime'].'</td>
                <td>'.$totaltime.'</td>
            </tr>';
    }
   ?> 
<tfoot></tfoot>
        </table>
</div>
<div class="clearfix"></div>
<?php
} else {
    $oPsv = Passivatelog::model();
    $oPsvRep = PassivatelogReport::model();

    $aReport = $oPsvRep->getLatestReport();
    var_dump($aReport);
    $operator = $aReport['report_operator'];
    $machine = $aReport['report_machine'];
    $date = $aReport['report_date'];
    $aGroupedSteps = $model->getAllSteps();
    if(!empty($aGroupedSteps) && !empty($aReport)) {
?>
<div class="col-lg-6">
        <table class="table table-bordered">
            <tr>
                <th>Operatör:</th>
                <th>Maskinnummer:</th>
                <th>Datum:</th>
            </tr>
            <tr>
                <td><?php echo $operator;?></td>
                <td><?php echo $machine;?></td>
                <td><?php echo $date; ?></td>
            </tr>
        </table>
        </div>
<div class="col-lg-12">
  <table class="table table-striped">
            <thead>
                <tr><th></th><th colspan="2">Temperatur</th><th colspan="2">PH Värde</th><th>Konduktivitet</th><th colspan="3">Tid</th></tr>
                <tr><th>Process</th><th>Start</th><th>Stop</th><th>Startvärde</th><th>Diff In/Ut</th><th>Medel</th><th>Start</th><th>Stop</th><th>Totaltid minuter</th></tr>
            </thead>
            <tbody>
<?php
        foreach($aGroupedSteps as $gstep) {
                $qData = $oPsv->getAllData($gstep->log_processname, $aReport['report_date'], $aReport['report_from'], $aReport['report_to']);
                $hourtominute = date('H',strtotime($qData[0]['totaltime']))*60;
                $minutetominute = date('i',strtotime($qData[0]['totaltime']));
                $totaltime = $hourtominute+$minutetominute;
                echo '
            <tr>
                <td>' . $gstep->log_processname . '</td>
                <td>'.$qData[0]['starttemp'].'</td>
                <td>'.$qData[0]['endtemp'].'</td>
                <td>'.(($qData[0]['startph']>0)? $qData[0]['startph']:'').'</td>
                <td>'.(($qData[0]['diffph']>0) ? number_format($qData[0]['diffph'],2) : '' ).'</td>
                <td>'.(($qData[0]['conductivity']>0)? number_format($qData[0]['conductivity'],0) : '').'</td>
                <td>'.$qData[0]['starttime'].'</td>
                <td>'.$qData[0]['endtime'].'</td>
                <td>'.$totaltime.'</td>
            </tr>';

        }
        ?>
            <tbody>
            <tfoot></tfoot>
        </table>           
</div>
<div class="clearfix"></div>
            <?php
    }
}

1 个答案:

答案 0 :(得分:0)

  

存储在数组中的数据:$ qData [0] [&#39; totaltime&#39;]格式不正确   转换为时间。

检查PHP手册中的 strtotime 函数(http://php.net/manual/en/function.strtotime.php)以检查要转换的字符串的正确格式,并检查存储在该数组中的数据是否与上述任何一个匹配手册中的格式。

您可能需要清理您的数据,以便它再次起作用,因为之前曾经工作过(如您所述),但突然停止工作。这是一个与数据相关的问题。

希望这有帮助。