2016-03-20 7 views
1

Вопрос: Как лучше всего преобразовать $p=' "'.implode('","', $person).'"';$p в целое число?convert string array to integer php

Что у меня есть: Я пытаюсь использовать, если заявление о том, $person == false;

$x['date']; является отметка времени в моей базе данных. Я разработал разницу во времени, теперь я пытаюсь заставить человека исчезнуть, если сообщение больше 3 секунд. поэтому я использовал $t > 3 секунд, а затем $p == false; Трудность для моего была $t была impode, так что это одна строка. Я пытался использовать 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"; 
} 
+2

его очень длинный вопрос, и не легко понять, о чем вы говорите, но я видел, как вы просили «преобразовать $ p в целое число?», Возможно, '$ p = intval ($ p)', преобразует его к правильному целому числу? ЕСЛИ нет, можете ли вы сделать свой вопрос короче и кратким. –

+0

И какова ценность '$ t'? –

+0

@MuhammedM. да ты прав. извините за вопрос, я пытался объяснить, что у меня есть, прежде чем задавать вопрос, попробую отредактировать вопрос. спасибо – user999

ответ

1

Проблема заключается в том, вы настройки $difference = settype($t, "integer");

settype функция возвращает логическое значение. Значение $t должно быть установлено в целое число, поэтому для проверки используйте echo gettype($t); вместо echo gettype($difference);

также, что вы используете оператор сравнения вместо присваивания в

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

должно быть

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

он на самом деле прав, если вы делаете settype, выполните это 'settype ($ t," integer "); вместо этого:' $ difference = settype ($ t, "integer"); ' –

+0

Спасибо @Jeff Puckett II – user999