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

search for in the

Booléens> <Commentaires
[edit] Last updated: Mon, 01 Nov 2010

view this page in

Chapitre 11. Les types

Introduction

PHP supporte les huit types basiques suivants :

PHP supporte quatre types scalaires :

PHP supporte deux types composés :

PHP supporte deux types spéciaux :

Ce manuel introduit également quelques pseudo-types pour des raisons de lisibilités :

Vous pouvez également trouver quelques références au type "double". Considérez le type "double" comme le type "float" (nombres décimaux), les deux noms existent uniquement pour des raisons historiques.

Habituellement, le type d'une variable n'est pas déclaré par le programmeur. Il est décidé au moment de l'exécution par PHP, en fonction du contexte dans lequel la variable est utilisée.

Note : Si vous voulez vérifier le type et la valeur d'une variable ou d'une expression, utilisez la fonction var_dump().

Note : Si vous souhaitez simplement une représentation lisible pour du débogage, utilisez la fonction gettype(). Pour vérifier la présence de certains types, n'utilisez pas gettype(), mais plutôt les fonctions is_type. Par exemple :

Exemple 11-1. Exemples de vérification de type de variable

<?php
$a_bool
= TRUE;   // un booléen
$a_str  = 'foo'// une chaîne de caractères
$a_str2 = 'foo'// une chaîne de caractères
$an_int  = 12;     // un entier

echo gettype($a_bool); // affiche "boolean"
echo gettype($a_str);  // affiche "string"

// Ceci est un entier, on l'incrémente de 4
if (is_int($an_int)) {
   
$an_int += 4;
}

// Si $bool est une chaîne, l'afficher
// (Ne pas imprimer n'importe quoi).
if (is_string($a_bool)) {
    echo
'Chaîne : ' . $a_bool;
}
?>

Si vous voulez forcer une variable à être convertie en un certain type, vous devez transtyper (cast) la variable ou utiliser la fonction settype().

Il est à noter qu'une variable peut se comporter de manière différente suivant les situations, en fonction du type qui lui est affectée. Pour plus d'informations, voir le paragraphe sur le transtypage. Vous pouvez également être intéressé par la table de comparaison des types, qui vous montrent des exemples variés concernant les relations de comparaisons des types.



Booléens> <Commentaires
[edit] Last updated: Mon, 01 Nov 2010
 
add a note add a note User Contributed Notes Les types
Jeffrey 26-Oct-2008 10:31
The Object (compound) Type

Like every programming language, PHP offers the usual basic primitive types which can hold only one piece of data at a time (scalar). I am particularly fond of the "object" type (compound) because that allows me to group many basic PHP types together, and I can name it anything I want.

<?php
class Person
{
 
$firstName;                   // a PHP String
 
$middleName;                  // a PHP String
 
$lastName;                    // a PHP String
 
$age;                         // a PHP Integer
 
$hasDriversLicense;           // a PHP Boolean
}
?>

Here, I have grouped several basic PHP types together, (3) Strings, (1) Integer, and (1) Boolean... then I named that group "Person". Since I used the proper syntax to do so, this code is pure PHP, which means that if you run this code, you would have an extra PHP "type" available to you in your scripts, like so:

<?php
$myAge
= 16;                    // a PHP Integer - always available
$yourAge = 15.5;                // a PHP Float   - always available
$hasHair = true;                // a PHP Boolean - always available
$greeting = "Hello World!"      // a PHP String  - always available

$person = new Person();         // a PHP Person  - available NOW!
?>

You can make your own object types and have PHP execute it as if it were part of the PHP language itself. See more on classes and objects in this manual at: http://www.php.net/manual/en/language.oop5.php
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.

 
show source | credits | sitemap | contact | advertising | mirror sites