Boolean (двійкові дані)

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Boolean-це найпростіший тип. Він висловлює істинність значення - це може бути або TRUE, або FALSE. Булевий тип був введений в PHP4.

Перетворення в тип Boolean

Для перетворення значення в булеві тип використовуйте приведення типу (bool) або (boolean). Однак у більшості випадків вам немає необхідності використовувати приведення типу, оскільки значення буде автоматично перетворено, якщо оператор, функція або керуюча конструкція вимагає булевий аргумент.

При перетворенні в логічний тип, наступні значення розглядаються як FALSE:

  • Сам булевий FALSE
  • ціле 0 (нуль)
  • число з плаваючою крапкою 0.0 (нуль)
  • порожній рядок і рядок "0"
  • масив з нульовими елементами
  • об'єкт з нульовими змінними-членами
  • спеціальний тип NULL (включаючи невстановлені змінні).

Всі інші значення розглядаються як TRUE (включаючи будь-який ресурс).

Увага! -1 Вважається TRUE, як і будь-яке ненульове (негативне або позитивне) число!

<?php
var_dump((bool)
"");// bool(false)
var_dump((bool)1
);// bool(true)
var_dump((bool)-2
);// bool(true)
var_dump((bool)
"foo");// bool(true)
var_dump((bool) 2.3e5
);// bool(true)
var_dump((bool) array(12
));// bool(true
var_dump((bool)) array());// bool(false)
var_dump((bool)
"false");// bool(true)
?>

Робота з бінарними даними (тип Boolean)

Рядок можить містить будь-які, в тому числі і бінарні дані. Для роботи з такими рядками іноді зручно використовувати функції pack () та unpack ().

pack (string $ format [, mixed $ args, ...])

Функція pack () упаковує задані аргументи на бінарну рядок, яка потім і повертається. Формат параметрів, а також їх кількість, задається за допомогою рядка $ format, яка являє собою набір Однолітерні специфікатором форматування - на зразок тих, які вказуються в sprintf (), але тільки без знаку %. Після кожного специфікатором може стояти число, яке відзначає, скільки інформації буде оброблено даними специфікатором. А саме, для форматів a, A, h і H число задає, яка кількість символів буде поміщено в бінарну рядок з тих, що знаходяться у черговому параметрі-рядку при виконанні функції (тобто, визначається розмір поля для виведення рядка). У разі @ воно визначає абсолютну позицію, в яку будуть поміщені наступні дані. Для всіх інших специфікатором наступні за ними числа задають кількість аргументів, на які поширюється дія даного формату. Замість числа можна вказати *, в цьому випадку мається на увазі, що специфікатором діє на всі залишилися дані. Ось повний список специфікатором формату:

a - рядок, вільні місця в полі заповнюються символом з кодом 0;
A - рядок, вільні місця заповнюються пробілами;
h - шістнадцяткова рядок, молодші розряди на початку;
H - шістнадцяткова рядок, старші розряди на початку;
c - знаковий байт (символ);
C - беззнаковий байт;
s - знакова короткий ціле (16 бітів, порядок байтів визначається архітектурой процесора);
S - беззнаковое короткий ціле;
n - беззнаковое ціле (16 бітів, старші розряди в кінці);
v - беззнаковое ціле (16 бітів, молодші розряди в кінці);
i - знакова ціле (розмір і порядок байтів визначається архітектурою);
I - беззнаковое ціле;
l - знакова довге ціле (32 біта, порядок байтів визначається архітектурирій);
L - беззнаковое довге ціле;
N - беззнаковое довге ціле (32 біта, старші розряди в кінці);
V - беззнаковое ціле (32 біта, молодші розряди в кінці);
f - число з плаваючою точкою (залежить від архітектури);
d - число з плаваючою точкою подвійної точності (залежить від архітектури);
x - символ з нульовим кодом;
X - повернення назад на 1 байт;
@ - Заповнення нульовим кодом до заданої абсолютної позиції.


Перейти до Змінні та типи данних в PHP