PHP: Типы - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Булев Комментарии

Last updated: Sat, 27 Jan 2007

view this page in

# Глава 11. Типы

# Введение

PHP поддерживает восемь простых типов.

Четыре скалярных типа:

- boolean

- integer

- float (число с плавающей точкой или 'double')

- string

Два смешанных типа:

- array

- object

И, наконец, два специальных типа:

- resource

- NULL

Для удобства понимания в этом руководстве используется также несколько псевдо-типов:

- mixed

- number

- callback

Вы также можете найти несколько упоминаний типа двойной точности. Рассматривайте его как число с плавающей точкой, два имени существуют только по историческим причинам.

Как правило, программист не устанавливает тип переменной; предпочтительнее, чтобы это делал PHP во время выполнения программы в зависимости от контекста, в котором используется переменная.

> Замечание: Если вы желаете проверить тип и значение определенного выражения, используйте var_dump().

> Замечание: Если же вам для отладки необходимо просто удобочитаемое представление типа, используйте gettype(). Чтобы проверить на определенный тип, не используйте gettype(), применяйте для этого `is_`type`` функции. Вот несколько примеров:

> `<?php
> $bool = TRUE; // логический
> $str = "foo"; // строковый
> $int = 12; // целочисленный
> echo gettype($bool); // выводит "boolean"
> echo gettype($str); // выводит "string"
> // Если это целое, увеличить на четыре
> if (is_int($int)) {
> $int += 4;
> }
> // Если $bool - это строка, вывести ее
> // (ничего не выводит)
> if (is_string($bool)) {
> echo "Строка: $bool";
> }
> ?>`

Если вы хотите принудительно изменить тип переменной, вы можете либо привести переменную, либо использовать функцию settype().

Обратите внимание, что переменная, в зависимости от ее типа в данный момент, в определенных ситуациях может иметь разные значения. Более подробную информацию смотрите в разделе Манипуляции с типами. Также вам, возможно, будет интересно посмотреть таблицы сравнения типов, поскольку в них приведены примеры связанных сравнений различных типов.

add a note User Contributed Notes
Типы
arjini at gmail dot com
06-Dec-2005 12:32
`Note that you can chain type castng:
var_dump((string)(int)false); //string(1) "0"`
shahnaz khan
18-Mar-2005 04:40
`if we use gettype() before initializinf any variable it give NULL
for eg.
<?php
$foo;
echo gettype($foo);
?>
it will show
NULL`
Trizor of www.freedom-uplink.org
29-Jun-2004 06:14
`The differance of float and double dates back to a FORTRAN standard. In FORTRAN Variables aren't as loosly written as in PHP and you had to define variable types(OH NOES!). FLOAT or REAL*4 (For all you VAX people out there) defined the variable as a standard precision floating point, with 4 bytes of memory allocated to it. DOUBLE PRECISION or REAL*8 (Again for the VAX) was identical to FLOAT or REAL*4, but with an 8 byte allocation of memory instead of a 4 byte allocation.
In fact most modern variable types date back to FORTRAN, except a string was called a CHARACHTER*N and you had to specify the length, or CHARACHTER*(*) for a variable length string. Boolean was LOGICAL, and there weren't yet objects, and there was support for complex numbers(a+bi).
Of course, most people reading this are web programmers and could care less about the mathematical background of programming.
NOTE: Object support was added to FORTRAN in the FORTRAN90 spec, and expanded with the FORTRAN94 spec, but by then C was the powerful force on the block, and most people who still use FORTRAN use the FORTRAN77.`
philip at cornado dot com
06-Jun-2001 12:02
`To see if something is numeric (a number) then use is_numeric(). All form data is returned as strings so checking a form value as an integer will return false.
http://www.php.net/is_numeric`
add a note
Булев Комментарии

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 10:36:09 2007 PST