如果我为 strtotime 定义了一个字符串数组,它工作正常,但是如果我从 sql 查询相同的字符串数组,它不会显示任何内容,这意味着结果为假。
这是工作正常的代码:
$belep=array('5:19:28','9:20:03','12:01:43','15:55:55');
for($i=0;$i<count($belep);$i++){
$belep[$i]=strtotime($belep[$i]);
echo $belep[$i].'<br>';
}
$sum=0;
for($j=1;$j<count($belep);$j+=2){
$sum=$sum+($belep[$j]-$belep[$j-1]);
}
echo "Munkában töltött idő: ".gmdate("H:i:s", $sum);
这就是我得到错误结果的地方:
$belep=array();
$stmt3 = sqlsrv_query( $conn, $sql4 );
if( $stmt3 === false) {
die( print_r( sqlsrv_errors(), true) );
}
$c=0;
while($row3=sqlsrv_fetch_array( $stmt3, SQLSRV_FETCH_ASSOC)){
$variablename='idopont'.$c;
$$variablename= $row3['TIMEPART']."<br>";
echo $variablename.'<br>';
echo $$variablename.'<br>';
$belep[$c]=$$variablename;
$c++;
}
for($i=0;$i<count($belep);$i++){
$belep[$i]=strtotime($belep[$i]);
echo $belep[$i].'<br>';
}
$sum=0;
for($j=1;$j<count($belep);$j+=2){
$sum=$sum+($belep[$j]-$belep[$j-1]);
}
echo "Munkában töltött idő: ".gmdate("H:i:s", $sum);
sqlsrv_free_stmt( $stmt3);
如果我在第二个示例中回显数组,则会得到与第一个示例中相同的字符串结果。如果我检查数组元素的类型,结果是字符串。那么为什么 strtotime 对它们不起作用呢?
素胚勾勒不出你