将字符串数组转换为整数php

时间:2016-03-20 18:04:49

标签: php string integer

问题: 如何将$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";
}

1 个答案:

答案 0 :(得分:1)

问题是您正在设置$difference = settype($t, "integer");

settype函数返回一个布尔值。值$t应设置为整数,因此要进行测试,请使用echo gettype($t);代替echo gettype($difference);

另外,您正在使用比较运算符而不是

中的赋值
if( $t >3){
  $p == false;

应该是

if( $t >3){
  $p = false;