2016-05-26 7 views
0

Я хочу, чтобы переменная была int, если переменная не равна нулю.
Это то, как я исправил его, но там должно быть лучшее решение.PHP typecasting null или int

if ($answer == null) { 
     $all_questions[] = array (
     'object_id'  => (int) $stored_question->getObjectId(), 
     'question_code' => $stored_question->getQuestionCode(), 
     'answer'  => $stored_question->getAnswer() 
    ); 
    } 
    else{ 
     $all_questions[] = array (
     'object_id'  => (int) $stored_question->getObjectId(), 
     'question_code' => $stored_question->getQuestionCode(), 
     'answer'  => (int) $stored_question->getAnswer() 
    ); 

По крайней мере, я надеюсь, что это потому, что это кажется излишним.

+0

'is_null ($ х)? $ x: intval ($ x) ', но, как я вижу в вашем случае' getAnswer' возвращает целое число в виде строки или null, вы shoud передаете возвращаемое значение там – cske

ответ

1

попробовать это:

$all_questions[] = array (
    'object_id'  => (int) $stored_question->getObjectId(), 
    'question_code' => $stored_question->getQuestionCode(), 
    'answer'  => $answer == null? $stored_question->getAnswer() : (int) $stored_question->getAnswer() 
); 
+0

thx отлично работает – Wouter

+0

приветствуется :) –

0

Первый Объявить Общие думаю, который вы хотите от обоих codition

$all_questions[] = array (
     'object_id'  => (int) $stored_question->getObjectId(), 
     'question_code' => $stored_question->getQuestionCode(), 
    ); 

который будет зависеть от определенного состояния

$all_questions['answer'] = (is_null($answer)) ? 
    $stored_question->getAnswer() : (int) $stored_question->getAnswer() : 

 Смежные вопросы

  • Нет связанных вопросов^_^