Виды
Логический/булевый тип данных (Booleans)
Когда строка преобразуется в булевый тип даных, "0" будет являться не FALSE, а TRUE.
Целое/тип данных (Integers)
Максимальное значение целого числа составляет около 9.2*1018 в PHPoC.
Классы (Сlasses)
Не поддерживается для классов.
Массив (Arrays)
Имеются следующие особенности:
- Начальное значение должно быть назначено в декларации.
- Только числа допустимы для значения ключа (KEY value).
- Не поддерживаем для генерации массива или функции вызова с квадратной скобкой.
- Примеры:
// Example 1
$var0 = array(3, 7, "array", "test");
$int0 = $var0[0] + $var0[1];
$str0 = $var0[2] . " " . $var0[3];
// Example 2
$int0 = 3;
$int1 = 7;
$str0 = "array";
$str1 = "test";
$var1 = array($int0, $int1, $str0, $str1);
// Example 3
$str0 = "array test";
$str0[6] = "T";
$str0[7] = "E";
$str0[8] = "S";
$str0[9] = "T";
echo $str0; // Output : array TEST
Нулевой указатель (Null)
Не поддерживается для нулевого указателя.
Тип Juggling
- Арифметические операторы: сложение (+), вычитание (-), умножение (*), деление (/)
Типы |
Boolean |
Integer |
Floating Point |
String |
Boolean |
X |
X |
X |
X |
Integer |
X |
O |
O |
X |
Floating Point |
X |
O |
O |
X |
String |
X |
X |
X |
X |
- Арифметические операторы: остаток (%)
Типы |
Boolean |
Integer |
Floating Point |
String |
Boolean |
X |
X |
X |
X |
Integer |
X |
O |
X |
X |
Floating Point |
X |
X |
X |
X |
String |
X |
X |
X |
X |
- Битовые операторы: AND(&), OR(|), XOR(^), сдвиг влево(<<), сдвиг вправо(>>)
Типы |
Boolean |
Integer |
Floating Point |
String |
Boolean |
X |
X |
X |
X |
Integer |
X |
O |
X |
X |
Floating Point |
X |
X |
X |
X |
String |
X |
X |
X |
X |
- Битовые операторы: compliment(~)
Boolean |
Integer |
Floating Point |
String |
X |
O |
X |
X |
- Операторы сравнения: меньше чем(<), больше чем(>), меньше или одинаково(<=), больше или одинаково(>=)
Типы |
Boolean |
Integer |
Floating Point |
String |
Boolean |
X |
X |
X |
X |
Integer |
X |
O |
O |
X |
Floating Point |
X |
O |
O |
X |
String |
X |
X |
X |
O |
- Операторы сравнения: одинаково(==), неодинаково(!=), неодинаково(<>)
Типы |
Boolean |
Integer |
Floating Point |
String |
Boolean |
O |
X |
X |
X |
Integer |
X |
O |
X |
X |
Floating Point |
X |
X |
O |
X |
String |
X |
X |
X |
O |
- Операторы инкремент/декремент (уменьшение/увеличение): увеличение(++), уменьшение(--)
Boolean |
Integer |
Floating Point |
String |
X |
O |
X |
X |
- Логический оператор: AND(&&), OR(||)
Types |
Boolean |
Integer |
Floating Point |
String |
Boolean |
O |
O |
X |
O |
Integer |
O |
O |
X |
O |
Floating Point |
X |
X |
O |
X |
String |
O |
O |
X |
O |
- Логический оператор: NOT(!)
Boolean |
Integer |
Floating Point |
String |
O |
O |
X |
O |
- Sign оператор: положительно(+), отрицательно(-)
Boolean |
Integer |
Floating Point |
String |
X |
O |
O |
X |
- Выражения в структуре контроля: if, for, (do) while
Boolean |
Integer |
Floating Point |
String |
O |
O |
X |
O |
- Выходной формат функции печати
Types |
Boolean |
Integer |
Floating Point |
String |
%b, %o, %x |
X |
O |
X |
X |
%d, %u |
X |
O |
X |
X |
%c |
X |
O |
X |
X |
%e, %f, %g |
X |
X |
O |
X |
%s |
X |
X |
X |
O |