问题:
如何将$p=' "'.implode('","', $person).'"';
$p
转换为整数?
我有什么:
我正在尝试使用if语句告诉$person == false;
$x['date'];
是我数据库中的时间戳。
我已经计算出时差,现在我试图让这个人消失,如果发布超过3秒。
所以我使用了$t > 3
秒然后$p == false;
我的困难是$t
内爆,所以它只是一个字符串。我试图使用preg_match,但我不认为这是个好主意。
我正在尝试使用$difference = settype($t, "integer");
,但我得到的是布尔值而不是数字。
$diff = array();
$person = array();
foreach($stmt as $x)
{
$person[] = $x['names']. $x['ages'];
$posts[] = $x['date'];
$timePosted = new DateTime($posts[] = $x['date']);
echo 'Time Posted : '. $timePosted ->format("d-m-Y H:i:s");
echo "</br>";
date_default_timezone_set('Europe/London');
$today = date('d-m-Y H:i:s');
echo 'Current time is : '. $today;
echo "</br>";
$today = new DateTime(date('d-m-Y H:i:s'));
$interval = $timePosted->diff($today);
"Difference " . $interval->d. " days ". $interval->h. " hours ".$interval->i." minutes ".$interval->s." seconds ";
echo "</br>";
$diff[] = $interval->h. " hours ".$interval->i." minutes ".$interval->s." seconds ";
$diff[] = $interval->s; //last array seconds
}
$p=' "'.implode('","', $person).'"';
echo $t= ' "'.implode('","', $diff).'"'."<br />";
$difference = settype($t, "integer");
echo gettype($difference);
echo "</br>";
if( $t >3){
$p == false;
}else{
echo "its okay, smaller than 3 seconds";
}
答案 0 :(得分:1)
问题是您正在设置$difference = settype($t, "integer");
settype
函数返回一个布尔值。值$t
应设置为整数,因此要进行测试,请使用echo gettype($t);
代替echo gettype($difference);
另外,您正在使用比较运算符而不是
中的赋值if( $t >3){
$p == false;
应该是
if( $t >3){
$p = false;