2015-05-24 3 views
0

Я хочу сохранить в значениях полей MySql tinyint(1), которые я уже преобразовал из boolean с php's intval().Convert boolean to integer

Пример:

$data = true; 
$foo = intval($data); 
    if (is_numeric($foo)){ 
     print_r($foo);  
    } 

Проблема заключается в том, что даже если это $datatrue и $foo является числовым, intval всегда возвращает 0.

Update:

У меня есть этот JQuery код для того, чтобы принять true/false если html флажок.

var foo = $('#' + form + ' ' + '[name = "foo"]').is(':checked'); 

затем я шлю переменную foo на мой контроллер: (код JQuery работает корректно)

$foo = Input::has('foo') ? Input::get('foo'): false; 

$newFoo = New Foo(); 
$newFoo->foo=$foo; 

Наконец, в моем классе:

public $foo; 
    print_r(intval($this->foo)); 
+0

'intval' для чисел, а не для значений' true' –

+0

@juergend Хорошо, спасибо, что мне делать, чтобы преобразовать 'boolean' в' 0/1'? – Makis

+0

Что? 'intval (true)' return '0'? – Federkun

ответ

1

Поскольку ваш $data является string not boolean. Вы можете сделать его первым и должны работать