PHP 7.4.0RC6 Released!

is_bool

(PHP 4, PHP 5, PHP 7)

is_bool Проверяет, является ли переменная булевой

Описание

is_bool ( mixed $var ) : bool

Проверяет, является ли данная переменная булевой.

Список параметров

var

Проверяемая переменная.

Возвращаемые значения

Возвращает TRUE, если var является переменной типа boolean, или FALSE в противном случае.

Примеры

Пример #1 Пример использования is_bool()

<?php
$a 
false;
$b 0;

// Так как $a является булевой переменной, функция вернет true
if (is_bool($a) === true) {
    echo 
"Да, это булевая переменная";
}

// Так как $b не является булевой переменной, функция вернет false
if (is_bool($b) === false) {
    echo 
"Нет, это не булевая переменная";
}
?>

Смотрите также

  • is_float() - Проверяет, является ли переменная числом с плавающей точкой
  • is_int() - Проверяет, является ли переменная целым числом
  • is_string() - Проверяет, является ли переменная строкой
  • is_object() - Проверяет, является ли переменная объектом
  • is_array() - Определяет, является ли переменная массивом

add a note add a note

User Contributed Notes 3 notes

up
7
phil
10 months ago
It should be stated that this function returns true if the _type_ of it's argument is boolean. It does not convert or coerce the value to a boolean type, not sure why so many comments focus on how to do this.
However, if you arrived here looking for a solution to convert a value to a boolean type, use this:

to_bool($x) { return (bool)$x; }
up
0
Julio Marchi
2 months ago
The function Michael Smith published doesn't do the work as it should.

To check if a variable is boolean is one thing, to evaluate if the value of a variable represents a boolean condition (true or false) is another.

Here a simple function that checks the status of the received variable in regards to boolean equivalencies (case insensitive).

<?php
/**
* Check "Booleanic" Conditions :)
*
* @param  [mixed]  $variable  Can be anything (string, bol, integer, etc.)
* @return [boolean]           Returns TRUE  for "1", "true", "on" and "yes"
*                             Returns FALSE for "0", "false", "off" and "no"
*                             Returns NULL otherwise.
*/
function is_enabled($variable)
{
    if (!isset(
$variable)) return null;
    return
filter_var($variable, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
}
?>

Of course, it is a simplistic approach, but for the majority of cases it will do the job right.

And, just to put thing in the right perspective, here's a real function that does what Phill disclosed:

<?php
/**
* Convert $variable to boolean (adapted from Phill answer)
*
* @param  [mixed]  $variable  Can be anything
* @return [boolean]           Returns the booelan equivalent to $variable based on Zend Enegine interpretation
*/
function to_bool($variable)
{
    return (bool)
$variable;
}
?>

I hope it helps someone. Happy coding.
up
-5
Michael Smith
6 years ago
The function in the last comment also converts the string 'false' to a true boolean. Here's a function that does what I think was intended:

<?php
function toBool($var) {
  if (!
is_string($var)) return (bool) $var;
  switch (
strtolower($var)) {
    case
'1':
    case
'true':
    case
'on':
    case
'yes':
    case
'y':
      return
true;
    default:
      return
false;
  }
}
To Top