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

将字符串数组转换为整数php,php,string,integer,Php,String,Integer,问题: 如何最好地转换$p='”。内爆(“,”,$person)。“$p是否为整数 我所拥有的: 我试图使用if语句告诉$person==false $x['date']是我数据库中的时间戳。 我已经计算出了时差,现在我正试图让人消失,如果张贴超过3秒。 因此,我使用了$t>3秒,然后$p==false 对我来说,困难在于,$t是内爆的,所以它是一个字符串。我试图使用preg_match,但我认为这不是一个好主意。 我试图使用$difference=settype($t,“integer”)格式

问题: 如何最好地转换
$p='”。内爆(“,”,$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";
}
$diff=array();
$person=array();
foreach(stmt为$x)
{  
$person[]=$x['names'.$x['ages'];
$posts[]=$x['date'];
$timePosted=newdatetime($posts[]=$x['date']);
回显“发布时间:”.$timePosted->格式(“d-m-Y H:i:s”);
回声“
”; 日期默认时区设置(“欧洲/伦敦”); $today=日期('d-m-Y H:i:s'); echo“当前时间为:”.$today; 回声“
”; $today=新日期时间(日期('d-m-Y H:i:s'); $interval=$timePosted->diff($today); “差异”。$interval->d.“天”。$interval->h.“小时”。$interval->i.“分钟”。$interval->s.“秒”; 回声“
”; $diff[]=$interval->h.“小时”..$interval->i.“分钟”..$interval->s.“秒”; $diff[]=$interval->s;//最后数组秒数 } $p=“”。内爆(“”,“,$person)。”; echo$t='''”。内爆('','',$diff)。'''。“
”; $difference=settype($t,“整数”); echo-gettype($difference); 回声“
”; 如果($t>3){ $p==false; }否则{ echo“没问题,小于3秒”; }
问题是您正在设置
$difference=settype($t,“整数”)

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

此外,您使用的是比较运算符,而不是中的赋值

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

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

这是一个很长的问题,一开始不容易理解你说的话,但我看到你在问“将$p转换为整数?”,也许是
$p=intval($p)
,将它转换为正确的整数?如果没有,你能把你的问题简短一点吗?
$t
的价值是什么?@muhammed。是的,你说得对。对于这个问题,我很抱歉,我在问问题之前试图解释我的问题,我将尝试编辑这个问题。thanks@u_muldert是所有用户发布的时间与他们发布的时间和现在的时间之差(秒)。他实际上是对的,如果你在做settype,那么就做这个
settype($t,“integer”)
而不是这个:
$difference=settype($t,“整数”)谢谢@Jeff Puckett II