Преобразование boolean в целочисленное значение php

Есть ли встроенная функция для PHP, которая примет логическое значение и вернет свой целочисленный эквивалент? 0 для FALSE, 1 для TRUE? Конечно, вы можете легко создать функцию для этого, я просто спрашиваю, есть ли встроенная функция внутри PHP. Я уже пробовал intval() и отбрасывал его (int) но они не работали, они возвращают 0 в обоих случаях TRUE и FALSE.

Edit: проблема была в том, что он не был действительно логическим, это была строка «false», «true», php не обнаружил пост jquery, что он прошел логическое. проблема решена, спасибо!

    http://www.php.net/manual/en/language.types.integer.php

    Обычно просто $myInt = (int)$myBoolean должен работать, можете ли вы показать нам свой код в противном случае?

    Просто добавьте «+» перед вашей переменной следующим образом:

     $myBool = true; var_dump(+$myBool); ouputs: int(1); 

    Если вы получаете свое значение из JSON IE через AJAX POST, значение будет указано как строка (как вы уже нашли). Способ вокруг этого состоит в том, чтобы сравнить строку true / false, а затем передать bool в int

     $requestBool = $_REQUEST['bool_value']; //This is 'true' or 'false' $myInt = (int)($requestBool === 'true'); echo $myInt; //returns: 0 or 1 

    Вы можете сделать несколько отливок за один раз:

     $isTest = 'true'; (int)(bool)$isTest echo $isTest; // this outputs 1 
     echo (int)true; echo '<br>'; echo (int)false; echo '<br>'; echo intval(true); echo '<br>'; echo intval(false); echo '<br>'; echo true + true; 

    Если вы не уверены в типе данных, см. Пример ниже, он работает с строками, целыми числами и булевыми.

     <?php $options = [ TRUE, FALSE, 'true', 'false', 1, 0, '1', '0', 'on', 'off', 'yes', 'no' ]; foreach ( $options as $option ) { $bool = filter_var( $option, FILTER_VALIDATE_BOOLEAN ); // TRUE or FALSE print (int) $bool . ' '; // 1 or 0 } // Outputs: 1 0 1 0 1 0 1 0 1 0 1 0 ?> 

    filter_var ($ var, FILTER_VALIDATE_BOOLEAN) вернет bool (true) или bool (false), а затем просто будет отлит как integer.

    filter_var ()

    (PHP 5> = 5.2.0, PHP 7)

    filter_var – Фильтрует переменную с заданным фильтром

    Использовать литье типа (bool):

     var_dump((bool) 1); // bool(true) var_dump((bool) 0); // bool(false)